//OV8858_tables.c
/*****************************************************************************/
/*!
 *  \file        OV8810_tables.c \n
 *  \version     1.0 \n
 *  \author      Meinicke \n
 *  \brief       Image-sensor-specific tables and other
 *               constant values/structures for OV8810. \n
 *
 *  \revision    $Revision: 803 $ \n
 *               $Author: $ \n
 *               $Date: 2010-02-26 16:35:22 +0100 (Fr, 26 Feb 2010) $ \n
 *               $Id: OV8810_tables.c 803 2010-02-26 15:35:22Z  $ \n
 */
/*  This is an unpublished work, the copyright in which vests in Silicon Image
 *  GmbH. The information contained herein is the property of Silicon Image GmbH
 *  and is supplied without liability for errors or omissions. No part may be
 *  reproduced or used expect as authorized by contract or other written
 *  permission. Copyright(c) Silicon Image GmbH, 2009, all rights reserved.
 */
/*****************************************************************************/
/*
#include "stdinc.h"

#if( OV8810_DRIVER_USAGE == USE_CAM_DRV_EN )
*/


#include <ebase/types.h>
#include <ebase/trace.h>
#include <ebase/builtins.h>

#include <common/return_codes.h>

#include "isi.h"
#include "isi_iss.h"
#include "isi_priv.h"
#include "OV8858_MIPI_priv.h"


/*****************************************************************************
 * DEFINES
 *****************************************************************************/


/*****************************************************************************
 * GLOBALS
 *****************************************************************************/
// Image sensor register settings default values taken from data sheet OV8810_DS_1.1_SiliconImage.pdf.
// The settings may be altered by the code in IsiSetupSensor.
const IsiRegDescription_t OV8858_g_aRegDescription_onelane[] =
{
	
	// MIPI=720Mbps, SysClk=144Mhz,Dac Clock=360Mhz.
	// v00_01_00 (05/29/2013) : initial setting
	{0x0103 ,0x01 ,"0x0100",eReadWrite},// ; software reset
	{0x0100 ,0x00 ,"0x0100",eReadWrite},//; software standby
	{0x0100 ,0x00 ,"0x0100",eReadWrite},// ;
	{0x0100 ,0x00 ,"0x0100",eReadWrite},// ;
	{0x0100 ,0x00 ,"0x0100",eReadWrite},//;
	{0x0302 ,0x1e ,"0x0100",eReadWrite},//; pll1_multi
	{0x0303 ,0x00 ,"0x0100",eReadWrite},//; pll1_divm
	{0x0304 ,0x03 ,"0x0100",eReadWrite},//; pll1_div_mipi
	{0x030e ,0x00 ,"0x0100",eReadWrite},//; pll2_rdiv
	{0x030f ,0x09 ,"0x0100",eReadWrite},//; pll2_divsp
	{0x0312 ,0x01 ,"0x0100",eReadWrite},//; pll2_pre_div0, pll2_r_divdac
	{0x031e ,0x0c ,"0x0100",eReadWrite},//; pll1_no_lat
	{0x3600 ,0x00,"0x0100",eReadWrite},//
	{0x3601 ,0x00,"0x0100",eReadWrite},//
	{0x3602 ,0x00,"0x0100",eReadWrite},//
	{0x3603 ,0x00,"0x0100",eReadWrite},//
	{0x3604 ,0x22,"0x0100",eReadWrite},//
	{0x3605 ,0x30,"0x0100",eReadWrite},//
	{0x3606 ,0x00,"0x0100",eReadWrite},//
	{0x3607 ,0x20,"0x0100",eReadWrite},//
	{0x3608 ,0x11,"0x0100",eReadWrite},//
	{0x3609 ,0x28,"0x0100",eReadWrite},//
	{0x360a ,0x00,"0x0100",eReadWrite},//
	{0x360b ,0x06,"0x0100",eReadWrite},//
	{0x360c ,0xdc,"0x0100",eReadWrite},//
	{0x360d ,0x40,"0x0100",eReadWrite},//
	{0x360e ,0x0c,"0x0100",eReadWrite},//
	{0x360f ,0x20,"0x0100",eReadWrite},//
	{0x3610 ,0x07,"0x0100",eReadWrite},//
	{0x3611 ,0x20,"0x0100",eReadWrite},//
	{0x3612 ,0x88,"0x0100",eReadWrite},//
	{0x3613 ,0x80,"0x0100",eReadWrite},//
	{0x3614 ,0x58,"0x0100",eReadWrite},//
	{0x3615 ,0x00,"0x0100",eReadWrite},//
	{0x3616 ,0x4a,"0x0100",eReadWrite},//
	{0x3617 ,0x90,"0x0100",eReadWrite},//
	{0x3618 ,0x56,"0x0100",eReadWrite},//
	{0x3619 ,0x70,"0x0100",eReadWrite},//
	{0x361a ,0x99,"0x0100",eReadWrite},//
	{0x361b ,0x00,"0x0100",eReadWrite},//
	{0x361c ,0x07,"0x0100",eReadWrite},//
	{0x361d ,0x00,"0x0100",eReadWrite},//
	{0x361e ,0x00,"0x0100",eReadWrite},//
	{0x361f ,0x00,"0x0100",eReadWrite},//
	{0x3638 ,0xff,"0x0100",eReadWrite},//
	{0x3633 ,0x0c,"0x0100",eReadWrite},//
	{0x3634 ,0x0c,"0x0100",eReadWrite},//
	{0x3635 ,0x0c,"0x0100",eReadWrite},//
	{0x3636 ,0x0c,"0x0100",eReadWrite},//
	{0x3645 ,0x13,"0x0100",eReadWrite},//
	{0x3646 ,0x83,"0x0100",eReadWrite},//
	{0x364a ,0x07,"0x0100",eReadWrite},//
	{0x3015 ,0x01,"0x0100",eReadWrite},// ;
	{0x3018 ,0x12,"0x0100",eReadWrite},//;	MIPI 1 lane
	{0x3020 ,0x93,"0x0100",eReadWrite},// ; Clock switch output normal, pclk_div =/1
	{0x3022 ,0x01,"0x0100",eReadWrite},// ; pd_mipi enable when rst_sync
	{0x3031 ,0x0a,"0x0100",eReadWrite},// ; MIPI 10-bit mode
	{0x3034 ,0x00,"0x0100",eReadWrite},//
	{0x3106 ,0x01,"0x0100",eReadWrite},// ; sclk_div, sclk_pre_div
	{0x3305 ,0xf1,"0x0100",eReadWrite},//
	{0x3308 ,0x00,"0x0100",eReadWrite},//
	{0x3309 ,0x28,"0x0100",eReadWrite},//
	{0x330a ,0x00,"0x0100",eReadWrite},//
	{0x330b ,0x20,"0x0100",eReadWrite},//
	{0x330c ,0x00,"0x0100",eReadWrite},//
	{0x330d ,0x00,"0x0100",eReadWrite},//
	{0x330e ,0x00,"0x0100",eReadWrite},//
	{0x330f ,0x40,"0x0100",eReadWrite},//
	{0x3307 ,0x04,"0x0100",eReadWrite},//
	{0x3500 ,0x00,"0x0100",eReadWrite},// ; exposure H
	{0x3501 ,0x4d,"0x0100",eReadWrite},// ; exposure M
	{0x3502 ,0x40,"0x0100",eReadWrite},// ; exposure L
	{0x3503 ,0x00,"0x0100",eReadWrite},// ; gain delay 1 frame, exposure delay 1 frame, real gain
	{0x3505 ,0x80,"0x0100",eReadWrite},// ; gain option
	{0x3508 ,0x04,"0x0100",eReadWrite},// ; gain H
	{0x3509 ,0x00,"0x0100",eReadWrite},// ; gain L
	{0x350c ,0x00,"0x0100",eReadWrite},// ; short gain H
	{0x350d ,0x80,"0x0100",eReadWrite},// ; short gain L
	{0x3510 ,0x00,"0x0100",eReadWrite},// ; short exposure H
	{0x3511 ,0x02,"0x0100",eReadWrite},// ; short exposure M
	{0x3512 ,0x00,"0x0100",eReadWrite},// ; short exposure L
	{0x3700 ,0x18,"0x0100",eReadWrite},//
	{0x3701 ,0x0c,"0x0100",eReadWrite},//
	{0x3702 ,0x28,"0x0100",eReadWrite},//
	{0x3703 ,0x19,"0x0100",eReadWrite},//
	{0x3704 ,0x14,"0x0100",eReadWrite},//
	{0x3705 ,0x00,"0x0100",eReadWrite},//
	{0x3706 ,0x35,"0x0100",eReadWrite},//
	{0x3707 ,0x04,"0x0100",eReadWrite},//
	{0x3708 ,0x24,"0x0100",eReadWrite},//
	{0x3709 ,0x33,"0x0100",eReadWrite},//
	{0x370a ,0x00,"0x0100",eReadWrite},//
	{0x370b ,0xb5,"0x0100",eReadWrite},//
	{0x370c ,0x04,"0x0100",eReadWrite},//
	{0x3718 ,0x12,"0x0100",eReadWrite},//
	{0x3719 ,0x31,"0x0100",eReadWrite},//
	{0x3712 ,0x42,"0x0100",eReadWrite},//
	{0x3714 ,0x24,"0x0100",eReadWrite},//
	{0x371e ,0x19,"0x0100",eReadWrite},//
	{0x371f ,0x40,"0x0100",eReadWrite},//
	{0x3720 ,0x05,"0x0100",eReadWrite},//
	{0x3721 ,0x05,"0x0100",eReadWrite},//
	{0x3724 ,0x06,"0x0100",eReadWrite},//
	{0x3725 ,0x01,"0x0100",eReadWrite},//
	{0x3726 ,0x06,"0x0100",eReadWrite},//
	{0x3728 ,0x05,"0x0100",eReadWrite},//
	{0x3729 ,0x02,"0x0100",eReadWrite},//
	{0x372a ,0x03,"0x0100",eReadWrite},//
	{0x372b ,0x53,"0x0100",eReadWrite},//
	{0x372c ,0xa3,"0x0100",eReadWrite},//
	{0x372d ,0x53,"0x0100",eReadWrite},//
	{0x372e ,0x06,"0x0100",eReadWrite},//
	{0x372f ,0x10,"0x0100",eReadWrite},//
	{0x3730 ,0x01,"0x0100",eReadWrite},//
	{0x3731 ,0x06,"0x0100",eReadWrite},//
	{0x3732 ,0x14,"0x0100",eReadWrite},//
	{0x3733 ,0x10,"0x0100",eReadWrite},//
	{0x3734 ,0x40,"0x0100",eReadWrite},//
	{0x3736 ,0x20,"0x0100",eReadWrite},//
	{0x373a ,0x05,"0x0100",eReadWrite},//
	{0x373b ,0x06,"0x0100",eReadWrite},//
	{0x373c ,0x0a,"0x0100",eReadWrite},//
	{0x373e ,0x03,"0x0100",eReadWrite},//
	{0x3755 ,0x10,"0x0100",eReadWrite},//
	{0x3758 ,0x00,"0x0100",eReadWrite},//
	{0x3759 ,0x4c,"0x0100",eReadWrite},//
	{0x375a ,0x06,"0x0100",eReadWrite},//
	{0x375b ,0x13,"0x0100",eReadWrite},//
	{0x375c ,0x20,"0x0100",eReadWrite},//
	{0x375d ,0x02,"0x0100",eReadWrite},//
	{0x375e ,0x00,"0x0100",eReadWrite},//
	{0x375f ,0x14,"0x0100",eReadWrite},//
	{0x3768 ,0x22,"0x0100",eReadWrite},//
	{0x3769 ,0x44,"0x0100",eReadWrite},//
	{0x376a ,0x44,"0x0100",eReadWrite},//
	{0x3761 ,0x00,"0x0100",eReadWrite},//
	{0x3762 ,0x00,"0x0100",eReadWrite},//
	{0x3763 ,0x00,"0x0100",eReadWrite},//
	{0x3766 ,0xff,"0x0100",eReadWrite},//
	{0x376b ,0x00,"0x0100",eReadWrite},//
	{0x3772 ,0x23,"0x0100",eReadWrite},//
	{0x3773 ,0x02,"0x0100",eReadWrite},//
	{0x3774 ,0x16,"0x0100",eReadWrite},//
	{0x3775 ,0x12,"0x0100",eReadWrite},//
	{0x3776 ,0x04,"0x0100",eReadWrite},//
	{0x3777 ,0x00,"0x0100",eReadWrite},//
	{0x3778 ,0x1b,"0x0100",eReadWrite},//
	{0x37a0 ,0x44,"0x0100",eReadWrite},//
	{0x37a1 ,0x3d,"0x0100",eReadWrite},//
	{0x37a2 ,0x3d,"0x0100",eReadWrite},//
	{0x37a3 ,0x00,"0x0100",eReadWrite},//
	{0x37a4 ,0x00,"0x0100",eReadWrite},//
	{0x37a5 ,0x00,"0x0100",eReadWrite},//
	{0x37a6 ,0x00,"0x0100",eReadWrite},//
	{0x37a7 ,0x44,"0x0100",eReadWrite},//
	{0x37a8 ,0x4c,"0x0100",eReadWrite},//
	{0x37a9 ,0x4c,"0x0100",eReadWrite},//
	{0x3760 ,0x00,"0x0100",eReadWrite},//
	{0x376f ,0x01,"0x0100",eReadWrite},//
	{0x37aa ,0x44,"0x0100",eReadWrite},//
	{0x37ab ,0x2e,"0x0100",eReadWrite},//
	{0x37ac ,0x2e,"0x0100",eReadWrite},//
	{0x37ad ,0x33,"0x0100",eReadWrite},//
	{0x37ae ,0x0d,"0x0100",eReadWrite},//
	{0x37af ,0x0d,"0x0100",eReadWrite},//
	{0x37b0 ,0x00,"0x0100",eReadWrite},//
	{0x37b1 ,0x00,"0x0100",eReadWrite},//
	{0x37b2 ,0x00,"0x0100",eReadWrite},//
	{0x37b3 ,0x42,"0x0100",eReadWrite},//
	{0x37b4 ,0x42,"0x0100",eReadWrite},//
	{0x37b5 ,0x33,"0x0100",eReadWrite},//
	{0x37b6 ,0x00,"0x0100",eReadWrite},//
	{0x37b7 ,0x00,"0x0100",eReadWrite},//
	{0x37b8 ,0x00,"0x0100",eReadWrite},//
	{0x37b9 ,0xff,"0x0100",eReadWrite},//
	{0x3800 ,0x00,"0x0100",eReadWrite},// ; x start H
	{0x3801 ,0x0c,"0x0100",eReadWrite},// ; x start L
	{0x3802 ,0x00,"0x0100",eReadWrite},// ; y start H
	{0x3803 ,0x0c,"0x0100",eReadWrite},//,"0x0100",eReadWrite},//y start L
	{0x3804 ,0x0c,"0x0100",eReadWrite},//x end H
	{0x3805 ,0xd3,"0x0100",eReadWrite},//x end L
	{0x3806 ,0x09,"0x0100",eReadWrite},//y end H
	{0x3807 ,0xa3,"0x0100",eReadWrite},//y end L
	{0x3808 ,0x06,"0x0100",eReadWrite},//x output size H
	{0x3809 ,0x60,"0x0100",eReadWrite},//x output size L
	{0x380a ,0x04,"0x0100",eReadWrite},//y output size H
	{0x380b ,0xc8,"0x0100",eReadWrite},//y output size L
	{0x380c ,0x0f,"0x0100",eReadWrite},//;07, 03,"0x0100",eReadWrite},//HTS H
	{0x380d ,0x10,"0x0100",eReadWrite},//88,c4,"0x0100",eReadWrite},//HTS L
	{0x380e ,0x04,"0x0100",eReadWrite},//VTS H
	{0x380f ,0xdc,"0x0100",eReadWrite},//VTS L
	{0x3810 ,0x00,"0x0100",eReadWrite},//ISP x win H
	{0x3811 ,0x04,"0x0100",eReadWrite},//ISP x win L
	{0x3813 ,0x02,"0x0100",eReadWrite},//ISP y win L
	{0x3814 ,0x03,"0x0100",eReadWrite},//x odd inc
	{0x3815 ,0x01,"0x0100",eReadWrite},//x even inc
	{0x3820 ,0x00,"0x0100",eReadWrite},//vflip off
	{0x3821 ,0x67,"0x0100",eReadWrite},//mirror on, bin on
	{0x382a ,0x03,"0x0100",eReadWrite},//y odd inc
	{0x382b ,0x01,"0x0100",eReadWrite},//y even inc
	{0x3830 ,0x08,"0x0100",eReadWrite},//
	{0x3836 ,0x02,"0x0100",eReadWrite},//
	{0x3837 ,0x18,"0x0100",eReadWrite},//
	{0x3841 ,0xff,"0x0100",eReadWrite},//window auto size enable
	{0x3846 ,0x48,"0x0100",eReadWrite},//
	{0x3d85 ,0x14,"0x0100",eReadWrite},//OTP power up load data enable, OTP powerr up load setting disable
	{0x3f08 ,0x08,"0x0100",eReadWrite},//
	{0x3f0a ,0x80,"0x0100",eReadWrite},//
	{0x4000 ,0xf1,"0x0100",eReadWrite},//out_range_trig, format_chg_trig, gain_trig, exp_chg_trig, median filter enable
	{0x4001 ,0x10,"0x0100",eReadWrite},//total 128 black column
	{0x4005 ,0x10,"0x0100",eReadWrite},//BLC target L
	{0x4002 ,0x27,"0x0100",eReadWrite},//value used to limit BLC offset
	{0x4009 ,0x81,"0x0100",eReadWrite},//final BLC offset limitation enable
	{0x400b ,0x0c,"0x0100",eReadWrite},//DCBLC on, DCBLC manual mode on
	{0x401b ,0x00,"0x0100",eReadWrite},//zero line R coefficient
	{0x401d ,0x00,"0x0100",eReadWrite},//zoro line T coefficient
	{0x4020 ,0x00,"0x0100",eReadWrite},//Anchor left start H
	{0x4021 ,0x04,"0x0100",eReadWrite},//Anchor left start L
	{0x4022 ,0x04,"0x0100",eReadWrite},//Anchor left end H
	{0x4023 ,0xb9,"0x0100",eReadWrite},//Anchor left end L
	{0x4024 ,0x05,"0x0100",eReadWrite},//Anchor right start H
	{0x4025 ,0x2a,"0x0100",eReadWrite},//Anchor right start L
	{0x4026 ,0x05,"0x0100",eReadWrite},//Anchor right end H
	{0x4027 ,0x2b,"0x0100",eReadWrite},//Anchor right end L
	{0x4028 ,0x00,"0x0100",eReadWrite},//top zero line start
	{0x4029 ,0x02,"0x0100",eReadWrite},//top zero line number
	{0x402a ,0x04,"0x0100",eReadWrite},//top black line start
	{0x402b ,0x04,"0x0100",eReadWrite},//top black line number
	{0x402c ,0x02,"0x0100",eReadWrite},//bottom zero line start
	{0x402d ,0x02,"0x0100",eReadWrite},//bottom zoro line number
	{0x402e ,0x08,"0x0100",eReadWrite},//bottom black line start
	{0x402f ,0x02,"0x0100",eReadWrite},//bottom black line number
	{0x401f ,0x00,"0x0100",eReadWrite},//interpolation x disable, interpolation y disable, Anchor one disable
	{0x4034 ,0x3f,"0x0100",eReadWrite},//
	{0x403d ,0x04,"0x0100",eReadWrite},//md_precison_en
	{0x4300 ,0xff,"0x0100",eReadWrite},//clip max H
	{0x4301 ,0x00,"0x0100",eReadWrite},//clip min H
	{0x4302 ,0x0f,"0x0100",eReadWrite},//clip min L, clip max L
	{0x4316 ,0x00,"0x0100",eReadWrite},//
	{0x4500 ,0x38,"0x0100",eReadWrite},//
	{0x4503 ,0x18,"0x0100",eReadWrite},//
	{0x4600 ,0x00,"0x0100",eReadWrite},//
	{0x4601 ,0xcb,"0x0100",eReadWrite},//
	{0x481f ,0x32,"0x0100",eReadWrite},//clk prepare min
	{0x4837 ,0x16,"0x0100",eReadWrite},//global timing
	{0x4850 ,0x10,"0x0100",eReadWrite},//lane 1 = 1, lane 0 = 0
	{0x4851 ,0x32,"0x0100",eReadWrite},//lane 3 = 3, lane 2 = 2
	{0x4b00 ,0x2a,"0x0100",eReadWrite},//
	{0x4b0d ,0x00,"0x0100",eReadWrite},//
	{0x4d00 ,0x04,"0x0100",eReadWrite},//temperature sensor
	{0x4d01 ,0x18,"0x0100",eReadWrite},// ;
	{0x4d02 ,0xc3,"0x0100",eReadWrite},// ;
	{0x4d03 ,0xff,"0x0100",eReadWrite},// ;
	{0x4d04 ,0xff,"0x0100",eReadWrite},// ;
	{0x4d05 ,0xff,"0x0100",eReadWrite},//temperature sensor
	{0x5000 ,0x7e,"0x0100",eReadWrite},//slave AWB gain enable, slave AWB statistics enable, master AWB gain enable,master AWB statistics enable, BPC on, WPC on
	{0x5001 ,0x01,"0x0100",eReadWrite},//BLC on
	{0x5002 ,0x08,"0x0100",eReadWrite},//H scale off, WBMATCH select slave sensor's gain, WBMATCH off, OTP_DPCoff,
	{0x5003 ,0x20,"0x0100",eReadWrite},//DPC_DBC buffer control enable, WB
	{0x5046 ,0x12,"0x0100",eReadWrite},//
	{0x5780 ,0xfc,"0x0100",eReadWrite},//tail en, saturate cross cluster en, remove corss cluster en,; remove connected dp in same channel,; en remove connected dp in different channel, smooth en
	{0x5784 ,0x0c,"0x0100",eReadWrite},//black threshold
	{0x5787 ,0x40,"0x0100",eReadWrite},//thre3
	{0x5788 ,0x08,"0x0100",eReadWrite},//thre4
	{0x578a ,0x02,"0x0100",eReadWrite},//wthre_list1
	{0x578b ,0x01,"0x0100",eReadWrite},//wthre_list2
	{0x578c ,0x01,"0x0100",eReadWrite},//wthre_list3
	{0x578e ,0x02,"0x0100",eReadWrite},//bthre_list1
	{0x578f ,0x01,"0x0100",eReadWrite},//bthre_list2
	{0x5790 ,0x01,"0x0100",eReadWrite},//bthre_list3
	{0x5901 ,0x00,"0x0100",eReadWrite},//H skip off, V skip off
	{0x5b00 ,0x02,"0x0100",eReadWrite},//OTP DPC start address
	{0x5b01 ,0x10,"0x0100",eReadWrite},//OTP DPC start address
	{0x5b02 ,0x03,"0x0100",eReadWrite},//OTP DPC end address
	{0x5b03 ,0xcf,"0x0100",eReadWrite},//OTP DPC end address
	{0x5b05 ,0x6c,"0x0100",eReadWrite},//recover method = 2b11, use fixed pattern to recover cluster,; use 0x3ff to recover cluster
	{0x5e00 ,0x00,"0x0100",eReadWrite},//test pattern off
	{0x5e01 ,0x41,"0x0100",eReadWrite},//window cut enable
	{0x382d ,0x7f,"0x0100",eReadWrite},//
	{0x4825 ,0x3a,"0x0100",eReadWrite},//lpx_p_min
	{0x4826 ,0x40,"0x0100",eReadWrite},//hs_prepare_min
	{0x4808 ,0x25,"0x0100",eReadWrite},//wake up delay in 1/1024 s
	//{0x0100 01,"0x0100",eReadWrite},//
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};
const IsiRegDescription_t OV8858_g_1632x1224_onelane[] =
{

//5.1.2.2 Raw 10bit 1632x1224 15fps 1lane 720M bps/lane
	//;; MIPI=720Mbps, SysClk=144Mhz,Dac Clock=360Mhz.
	{0x0100 ,0x00,"0x0100",eReadWrite},
	{0x030e ,0x00,"0x0100",eReadWrite},//pll2_rdiv
	{0x030f ,0x09,"0x0100",eReadWrite},//pll2_divsp
	{0x0312 ,0x01,"0x0100",eReadWrite},//pll2_pre_div0, pll2_r_divdac
	{0x3015 ,0x01,"0x0100",eReadWrite},
	{0x3501 ,0x4d,"0x0100",eReadWrite},//exposure M
	{0x3502 ,0x40,"0x0100",eReadWrite},//exposure L
	//{0x3508 ,0x04,"0x0100",eReadWrite},//gain H
	{0x3706 ,0x35,"0x0100",eReadWrite},
	{0x370a ,0x00,"0x0100",eReadWrite},
	{0x370b ,0xb5,"0x0100",eReadWrite},
	{0x3778 ,0x1b,"0x0100",eReadWrite},
	{0x3808 ,0x06,"0x0100",eReadWrite},//x output size H
	{0x3809 ,0x60,"0x0100",eReadWrite},//x output size L
	{0x380a ,0x04,"0x0100",eReadWrite},//y output size H
	{0x380b ,0xc8,"0x0100",eReadWrite},//y output size L
	{0x380c ,0x0f,"0x0100",eReadWrite},//HTS H
	{0x380d ,0x10,"0x0100",eReadWrite},//HTS L
	{0x380e ,0x04,"0x0100",eReadWrite},//VTS H
	{0x380f ,0xdc,"0x0100",eReadWrite},//VTS L
	{0x3814 ,0x03,"0x0100",eReadWrite},//x odd inc
	{0x3821 ,0x67,"0x0100",eReadWrite},//mirror on, bin on
	{0x382a ,0x03,"0x0100",eReadWrite},//y odd inc
	{0x3830 ,0x08,"0x0100",eReadWrite},
	{0x3836 ,0x02,"0x0100",eReadWrite},
	{0x3f0a ,0x80,"0x0100",eReadWrite},
	{0x4001 ,0x10,"0x0100",eReadWrite},//total 128 black column
	{0x4022 ,0x04,"0x0100",eReadWrite},//Anchor left end H
	{0x4023 ,0xb9,"0x0100",eReadWrite},//Anchor left end L
	{0x4024 ,0x05,"0x0100",eReadWrite},//Anchor right start H
	{0x4025 ,0x2a,"0x0100",eReadWrite},//Anchor right start L
	{0x4026 ,0x05,"0x0100",eReadWrite},//Anchor right end H
	{0x4027 ,0x2b,"0x0100",eReadWrite},//Anchor right end L
	{0x402b ,0x04,"0x0100",eReadWrite},//top black line number
	{0x402e ,0x08,"0x0100",eReadWrite},//bottom black line start
	{0x4500 ,0x38,"0x0100",eReadWrite},
	{0x4600 ,0x00,"0x0100",eReadWrite},
	{0x4601 ,0xcb,"0x0100",eReadWrite},
	{0x382d ,0x7f,"0x0100",eReadWrite},
	//{0x0100 ,0x01,"0x0100",eReadWrite},
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_3264x2448_onelane[] =
{
	//@@5.1.2.3 Raw 10bit 3264x2448 7.5fps 1lane 720M bps/lane
	//;; MIPI=720Mbps, SysClk=72Mhz,Dac Clock=360Mhz.
	{0x0100 ,0x00,"0x0100",eReadWrite},//
	{0x030e ,0x02,"0x0100",eReadWrite},// ; pll2_rdiv
	{0x030f ,0x04,"0x0100",eReadWrite},// ; pll2_divsp
	{0x0312 ,0x03,"0x0100",eReadWrite},// ; pll2_pre_div0, pll2_r_divdac
	{0x3015 ,0x00,"0x0100",eReadWrite},//
	{0x3501 ,0x9a,"0x0100",eReadWrite},//
	{0x3502 ,0x20,"0x0100",eReadWrite},//
//{0x3508 ,0x02,"0x0100",eReadWrite},//
	{0x3706 ,0x6a,"0x0100",eReadWrite},//
	{0x370a ,0x01,"0x0100",eReadWrite},//
	{0x370b ,0x6a,"0x0100",eReadWrite},//
	{0x3778 ,0x32,"0x0100",eReadWrite},//
	{0x3808 ,0x0c,"0x0100",eReadWrite},// ; x output size H
	{0x3809 ,0xc0,"0x0100",eReadWrite},// ; x output size L
	{0x380a ,0x09,"0x0100",eReadWrite},// ; y output size H
	{0x380b ,0x90,"0x0100",eReadWrite},// ; y output size L
	{0x380c ,0x0f,"0x0100",eReadWrite},//;07 ; HTS H
	{0x380d ,0x28,"0x0100",eReadWrite},//;94 ; HTS L
	{0x380e ,0x09,"0x0100",eReadWrite},//; VTS H
	{0x380f ,0xaa,"0x0100",eReadWrite},// ; VTS L
	{0x3814 ,0x01,"0x0100",eReadWrite},// ; x odd inc
	{0x3821 ,0x46,"0x0100",eReadWrite},// ; mirror on, bin off
	{0x382a ,0x01,"0x0100",eReadWrite},// ; y odd inc
	{0x3830 ,0x06,"0x0100",eReadWrite},//
	{0x3836 ,0x01,"0x0100",eReadWrite},//
	{0x3f0a ,0x00,"0x0100",eReadWrite},//
	{0x4001 ,0x00,"0x0100",eReadWrite},// ; total 256 black column
	{0x4022 ,0x0b,"0x0100",eReadWrite},// ; Anchor left end H
	{0x4023 ,0xc3,"0x0100",eReadWrite},// ; Anchor left end L
	{0x4024 ,0x0c,"0x0100",eReadWrite},// ; Anchor right start H
	{0x4025 ,0x36,"0x0100",eReadWrite},// ; Anchor right start L
	{0x4026 ,0x0c,"0x0100",eReadWrite},// ; Anchor right end H
	{0x4027 ,0x37,"0x0100",eReadWrite},// ; Anchor right end L
	{0x402b ,0x08,"0x0100",eReadWrite},// ; top black line number
	{0x402e ,0x0c,"0x0100",eReadWrite},// ; bottom black line start
	{0x4500 ,0x58,"0x0100",eReadWrite},//
	{0x4600 ,0x01,"0x0100",eReadWrite},//
	{0x4601 ,0x97,"0x0100",eReadWrite},//
	{0x382d ,0xff,"0x0100",eReadWrite},//
	//{0x0100 ,0x01,"0x0100",eReadWrite},//
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

// Image sensor register settings default values taken from data sheet OV8810_DS_1.1_SiliconImage.pdf.
// The settings may be altered by the code in IsiSetupSensor.
const IsiRegDescription_t OV8858_g_aRegDescription_twolane[] =
{
    //@@5.1.1.1 Initialization (Global Setting)
	//; Slave_ID=0x6c;
//{0x0103 ,0x01 ,"0x0100",eReadWrite}, software reset
	//; delay(5ms)
	{0x0100, 0x00,"0x0100",eReadWrite},
	{0x0100, 0x00,"0x0100",eReadWrite},
	{0x0100, 0x00,"0x0100",eReadWrite},
	{0x0100, 0x00,"0x0100",eReadWrite},
	{0x0302, 0x1e,"0x0100",eReadWrite},
	{0x0303, 0x00,"0x0100",eReadWrite},
	{0x0304, 0x03,"0x0100",eReadWrite},
	{0x030e, 0x00,"0x0100",eReadWrite},
	{0x030f, 0x09,"0x0100",eReadWrite},
	{0x0312, 0x01,"0x0100",eReadWrite},
	{0x031e, 0x0c,"0x0100",eReadWrite},
	{0x3600, 0x00,"0x0100",eReadWrite},
	{0x3601, 0x00,"0x0100",eReadWrite},
	{0x3602, 0x00,"0x0100",eReadWrite},
	{0x3603, 0x00,"0x0100",eReadWrite},
	{0x3604, 0x22,"0x0100",eReadWrite},
	{0x3605, 0x30,"0x0100",eReadWrite},
	{0x3606, 0x00,"0x0100",eReadWrite},
	{0x3607, 0x20,"0x0100",eReadWrite},
	{0x3608, 0x11,"0x0100",eReadWrite},
	{0x3609, 0x28,"0x0100",eReadWrite},
	{0x360a, 0x00,"0x0100",eReadWrite},
	{0x360b, 0x06,"0x0100",eReadWrite},
	{0x360c, 0xdc,"0x0100",eReadWrite},
	{0x360d, 0x40,"0x0100",eReadWrite},
	{0x360e, 0x0c,"0x0100",eReadWrite},
	{0x360f, 0x20,"0x0100",eReadWrite},
	{0x3610, 0x07,"0x0100",eReadWrite},
	{0x3611, 0x20,"0x0100",eReadWrite},
	{0x3612, 0x88,"0x0100",eReadWrite},
	{0x3613, 0x80,"0x0100",eReadWrite},
	{0x3614, 0x58,"0x0100",eReadWrite},
	{0x3615, 0x00,"0x0100",eReadWrite},
	{0x3616, 0x4a,"0x0100",eReadWrite},
	{0x3617, 0xb0,"0x0100",eReadWrite},
	{0x3618, 0x56,"0x0100",eReadWrite},
	{0x3619, 0x70,"0x0100",eReadWrite},
	{0x361a, 0x99,"0x0100",eReadWrite},
	{0x361b, 0x00,"0x0100",eReadWrite},
	{0x361c, 0x07,"0x0100",eReadWrite},
	{0x361d, 0x00,"0x0100",eReadWrite},
	{0x361e, 0x00,"0x0100",eReadWrite},
	{0x361f, 0x00,"0x0100",eReadWrite},
	{0x3638, 0xff,"0x0100",eReadWrite},
	{0x3633, 0x0c,"0x0100",eReadWrite},
	{0x3634, 0x0c,"0x0100",eReadWrite},
	{0x3635, 0x0c,"0x0100",eReadWrite},
	{0x3636, 0x0c,"0x0100",eReadWrite},
	{0x3645, 0x13,"0x0100",eReadWrite},
	{0x3646, 0x83,"0x0100",eReadWrite},
	{0x364a, 0x07,"0x0100",eReadWrite},
	{0x3015, 0x01,"0x0100",eReadWrite},
	{0x3018, 0x32,"0x0100",eReadWrite},
	{0x3020, 0x93,"0x0100",eReadWrite},
	{0x3022, 0x01,"0x0100",eReadWrite},
	{0x3031, 0x0a,"0x0100",eReadWrite},
	{0x3034, 0x00,"0x0100",eReadWrite},
	{0x3106, 0x01,"0x0100",eReadWrite},
	{0x3305, 0xf1,"0x0100",eReadWrite},
	{0x3308, 0x00,"0x0100",eReadWrite},
	{0x3309, 0x28,"0x0100",eReadWrite},
	{0x330a, 0x00,"0x0100",eReadWrite},
	{0x330b, 0x20,"0x0100",eReadWrite},
	{0x330c, 0x00,"0x0100",eReadWrite},
	{0x330d, 0x00,"0x0100",eReadWrite},
	{0x330e, 0x00,"0x0100",eReadWrite},
	{0x330f, 0x40,"0x0100",eReadWrite},
	{0x3307, 0x04,"0x0100",eReadWrite},
	{0x3500, 0x00,"0x0100",eReadWrite},
	{0x3501, 0x4d,"0x0100",eReadWrite},
	{0x3502, 0x40,"0x0100",eReadWrite},
	{0x3503, 0x00,"0x0100",eReadWrite},
	{0x3505, 0x80,"0x0100",eReadWrite},
	{0x3508, 0x04,"0x0100",eReadWrite},
	{0x3509, 0x00,"0x0100",eReadWrite},
	{0x350c, 0x00,"0x0100",eReadWrite},
	{0x350d, 0x80,"0x0100",eReadWrite},
	{0x3510, 0x00,"0x0100",eReadWrite},
	{0x3511, 0x02,"0x0100",eReadWrite},
	{0x3512, 0x00,"0x0100",eReadWrite},
	{0x3700, 0x18,"0x0100",eReadWrite},
	{0x3701, 0x0c,"0x0100",eReadWrite},
	{0x3702, 0x28,"0x0100",eReadWrite},
	{0x3703, 0x19,"0x0100",eReadWrite},
	{0x3704, 0x14,"0x0100",eReadWrite},
	{0x3705, 0x00,"0x0100",eReadWrite},
	{0x3706, 0x35,"0x0100",eReadWrite},
	{0x3707, 0x04,"0x0100",eReadWrite},
	{0x3708, 0x24,"0x0100",eReadWrite},
	{0x3709, 0x33,"0x0100",eReadWrite},
	{0x370a, 0x00,"0x0100",eReadWrite},
	{0x370b, 0xb5,"0x0100",eReadWrite},
	{0x370c, 0x04,"0x0100",eReadWrite},
	{0x3718, 0x12,"0x0100",eReadWrite},
	{0x3719, 0x31,"0x0100",eReadWrite},
	{0x3712, 0x42,"0x0100",eReadWrite},
	{0x3714, 0x24,"0x0100",eReadWrite},
	{0x371e, 0x19,"0x0100",eReadWrite},
	{0x371f, 0x40,"0x0100",eReadWrite},
	{0x3720, 0x05,"0x0100",eReadWrite},
	{0x3721, 0x05,"0x0100",eReadWrite},
	{0x3724, 0x06,"0x0100",eReadWrite},
	{0x3725, 0x01,"0x0100",eReadWrite},
	{0x3726, 0x06,"0x0100",eReadWrite},
	{0x3728, 0x05,"0x0100",eReadWrite},
	{0x3729, 0x02,"0x0100",eReadWrite},
	{0x372a, 0x03,"0x0100",eReadWrite},
	{0x372b, 0x53,"0x0100",eReadWrite},
	{0x372c, 0xa3,"0x0100",eReadWrite},
	{0x372d, 0x53,"0x0100",eReadWrite},
	{0x372e, 0x06,"0x0100",eReadWrite},
	{0x372f, 0x10,"0x0100",eReadWrite},
	{0x3730, 0x01,"0x0100",eReadWrite},
	{0x3731, 0x06,"0x0100",eReadWrite},
	{0x3732, 0x14,"0x0100",eReadWrite},
	{0x3733, 0x10,"0x0100",eReadWrite},
	{0x3734, 0x40,"0x0100",eReadWrite},
	{0x3736, 0x20,"0x0100",eReadWrite},
	{0x373a, 0x05,"0x0100",eReadWrite},
	{0x373b, 0x06,"0x0100",eReadWrite},
	{0x373c, 0x0a,"0x0100",eReadWrite},
	{0x373e, 0x03,"0x0100",eReadWrite},
	{0x3755, 0x10,"0x0100",eReadWrite},
	{0x3758, 0x00,"0x0100",eReadWrite},
	{0x3759, 0x4c,"0x0100",eReadWrite},
	{0x375a, 0x06,"0x0100",eReadWrite},
	{0x375b, 0x13,"0x0100",eReadWrite},
	{0x375c, 0x20,"0x0100",eReadWrite},
	{0x375d, 0x02,"0x0100",eReadWrite},
	{0x375e, 0x00,"0x0100",eReadWrite},
	{0x375f, 0x14,"0x0100",eReadWrite},
	{0x3768, 0x22,"0x0100",eReadWrite},
	{0x3769, 0x44,"0x0100",eReadWrite},
	{0x376a, 0x44,"0x0100",eReadWrite},
	{0x3761, 0x00,"0x0100",eReadWrite},
	{0x3762, 0x00,"0x0100",eReadWrite},
	{0x3763, 0x00,"0x0100",eReadWrite},
	{0x3766, 0xff,"0x0100",eReadWrite},
	{0x376b, 0x00,"0x0100",eReadWrite},
	{0x3772, 0x23,"0x0100",eReadWrite},
	{0x3773, 0x02,"0x0100",eReadWrite},
	{0x3774, 0x16,"0x0100",eReadWrite},
	{0x3775, 0x12,"0x0100",eReadWrite},
	{0x3776, 0x04,"0x0100",eReadWrite},
	{0x3777, 0x00,"0x0100",eReadWrite},
	{0x3778, 0x1b,"0x0100",eReadWrite},
	{0x37a0, 0x44,"0x0100",eReadWrite},
	{0x37a1, 0x3d,"0x0100",eReadWrite},
	{0x37a2, 0x3d,"0x0100",eReadWrite},
	{0x37a3, 0x00,"0x0100",eReadWrite},
	{0x37a4, 0x00,"0x0100",eReadWrite},
	{0x37a5, 0x00,"0x0100",eReadWrite},
	{0x37a6, 0x00,"0x0100",eReadWrite},
	{0x37a7, 0x44,"0x0100",eReadWrite},
	{0x37a8, 0x4c,"0x0100",eReadWrite},
	{0x37a9, 0x4c,"0x0100",eReadWrite},
	{0x3760, 0x00,"0x0100",eReadWrite},
	{0x376f, 0x01,"0x0100",eReadWrite},
	{0x37aa, 0x44,"0x0100",eReadWrite},
	{0x37ab, 0x2e,"0x0100",eReadWrite},
	{0x37ac, 0x2e,"0x0100",eReadWrite},
	{0x37ad, 0x33,"0x0100",eReadWrite},
	{0x37ae, 0x0d,"0x0100",eReadWrite},
	{0x37af, 0x0d,"0x0100",eReadWrite},
	{0x37b0, 0x00,"0x0100",eReadWrite},
	{0x37b1, 0x00,"0x0100",eReadWrite},
	{0x37b2, 0x00,"0x0100",eReadWrite},
	{0x37b3, 0x42,"0x0100",eReadWrite},
	{0x37b4, 0x42,"0x0100",eReadWrite},
	{0x37b5, 0x33,"0x0100",eReadWrite},
	{0x37b6, 0x00,"0x0100",eReadWrite},
	{0x37b7, 0x00,"0x0100",eReadWrite},
	{0x37b8, 0x00,"0x0100",eReadWrite},
	{0x37b9, 0xff,"0x0100",eReadWrite},
	{0x3800, 0x00,"0x0100",eReadWrite},
	{0x3801, 0x0c,"0x0100",eReadWrite},
	{0x3802, 0x00,"0x0100",eReadWrite},
	{0x3803, 0x0c,"0x0100",eReadWrite},
	{0x3804, 0x0c,"0x0100",eReadWrite},
	{0x3805, 0xd3,"0x0100",eReadWrite},
	{0x3806, 0x09,"0x0100",eReadWrite},
	{0x3807, 0xa3,"0x0100",eReadWrite},
	{0x3808, 0x06,"0x0100",eReadWrite},
	{0x3809, 0x60,"0x0100",eReadWrite},
	{0x380a, 0x04,"0x0100",eReadWrite},
	{0x380b, 0xc8,"0x0100",eReadWrite},
	{0x380c, 0x07,"0x0100",eReadWrite},
	{0x380d, 0x88,"0x0100",eReadWrite},
	{0x380e, 0x04,"0x0100",eReadWrite},
	{0x380f, 0xdc,"0x0100",eReadWrite},
	{0x3810, 0x00,"0x0100",eReadWrite},
	{0x3811, 0x04,"0x0100",eReadWrite},
	{0x3813, 0x02,"0x0100",eReadWrite},
	{0x3814, 0x03,"0x0100",eReadWrite},
	{0x3815, 0x01,"0x0100",eReadWrite},
	{0x3820, 0x00,"0x0100",eReadWrite},
	{0x3821, 0x67,"0x0100",eReadWrite},
	{0x382a, 0x03,"0x0100",eReadWrite},
	{0x382b, 0x01,"0x0100",eReadWrite},
	{0x3830, 0x08,"0x0100",eReadWrite},
	{0x3836, 0x02,"0x0100",eReadWrite},
	{0x3837, 0x18,"0x0100",eReadWrite},
	{0x3841, 0xff,"0x0100",eReadWrite},
	{0x3846, 0x48,"0x0100",eReadWrite},
	{0x3d85, 0x14,"0x0100",eReadWrite},
	{0x3f08, 0x08,"0x0100",eReadWrite},
	{0x3f0a, 0x80,"0x0100",eReadWrite},
	{0x4000, 0xf1,"0x0100",eReadWrite},
	{0x4001, 0x10,"0x0100",eReadWrite},
	{0x4005, 0x10,"0x0100",eReadWrite},
	{0x4002, 0x27,"0x0100",eReadWrite},
	{0x4009, 0x81,"0x0100",eReadWrite},
	{0x400b, 0x0c,"0x0100",eReadWrite},
	{0x401b, 0x00,"0x0100",eReadWrite},
	{0x401d, 0x00,"0x0100",eReadWrite},
	{0x4020, 0x00,"0x0100",eReadWrite},
	{0x4021, 0x04,"0x0100",eReadWrite},
	{0x4022, 0x04,"0x0100",eReadWrite},
	{0x4023, 0xb9,"0x0100",eReadWrite},
	{0x4024, 0x05,"0x0100",eReadWrite},
	{0x4025, 0x2a,"0x0100",eReadWrite},
	{0x4026, 0x05,"0x0100",eReadWrite},
	{0x4027, 0x2b,"0x0100",eReadWrite},
	{0x4028, 0x00,"0x0100",eReadWrite},
	{0x4029, 0x02,"0x0100",eReadWrite},
	{0x402a, 0x04,"0x0100",eReadWrite},
	{0x402b, 0x04,"0x0100",eReadWrite},
	{0x402c, 0x02,"0x0100",eReadWrite},
	{0x402d, 0x02,"0x0100",eReadWrite},
	{0x402e, 0x08,"0x0100",eReadWrite},
	{0x402f, 0x02,"0x0100",eReadWrite},
	{0x401f, 0x00,"0x0100",eReadWrite},
	{0x4034, 0x3f,"0x0100",eReadWrite},
	{0x403d, 0x04,"0x0100",eReadWrite},
	{0x4300, 0xff,"0x0100",eReadWrite},
	{0x4301, 0x00,"0x0100",eReadWrite},
	{0x4302, 0x0f,"0x0100",eReadWrite},
	{0x4316, 0x00,"0x0100",eReadWrite},
	{0x4500, 0x38,"0x0100",eReadWrite},
	{0x4503, 0x18,"0x0100",eReadWrite},
	{0x4600, 0x00,"0x0100",eReadWrite},
	{0x4601, 0xcb,"0x0100",eReadWrite},
	{0x481f, 0x32,"0x0100",eReadWrite},
	{0x4837, 0x16,"0x0100",eReadWrite},
	{0x4850, 0x10,"0x0100",eReadWrite},
	{0x4851, 0x32,"0x0100",eReadWrite},
	{0x4b00, 0x2a,"0x0100",eReadWrite},
	{0x4b0d, 0x00,"0x0100",eReadWrite},
	{0x4d00, 0x04,"0x0100",eReadWrite},
	{0x4d01, 0x18,"0x0100",eReadWrite},
	{0x4d02, 0xc3,"0x0100",eReadWrite},
	{0x4d03, 0xff,"0x0100",eReadWrite},
	{0x4d04, 0xff,"0x0100",eReadWrite},
	{0x4d05, 0xff,"0x0100",eReadWrite},
	{0x5000, 0x7e,"0x0100",eReadWrite},
	{0x5001, 0x01,"0x0100",eReadWrite},
	{0x5002, 0x08,"0x0100",eReadWrite},
	{0x5003, 0x20,"0x0100",eReadWrite},
	{0x5046, 0x12,"0x0100",eReadWrite},
	{0x5901, 0x00,"0x0100",eReadWrite},
	{0x5e00, 0x00,"0x0100",eReadWrite},
	{0x5e01, 0x41,"0x0100",eReadWrite},
	{0x382d, 0x7f,"0x0100",eReadWrite},
	{0x4825, 0x3a,"0x0100",eReadWrite},
	{0x4826, 0x40,"0x0100",eReadWrite},
	{0x4808, 0x25,"0x0100",eReadWrite},
	//{0x0100, 0x01,"0x0100",eReadWrite},

	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_1632x1224_twolane[] =
{	
	{0x030e, 0x00,"0x0100",eReadWrite}, // pll2_rdiv						 
	{0x030f, 0x09,"0x0100",eReadWrite}, // pll2_divsp						 
	{0x0312, 0x01,"0x0100",eReadWrite}, // pll2_pre_div0, pll2_r_divdac 	 
	{0x3015, 0x01,"0x0100",eReadWrite}, //									 
	{0x3501, 0x4d,"0x0100",eReadWrite}, // exposure M						 
	{0x3502, 0x40,"0x0100",eReadWrite}, // exposure L						 
	//{0x3508, 0x04,"0x0100",eReadWrite}, // gain H							 
	{0x3706, 0x35,"0x0100",eReadWrite}, //									 
	{0x370a, 0x00,"0x0100",eReadWrite}, //									 
	{0x370b, 0xb5,"0x0100",eReadWrite}, //									 
	{0x3778, 0x1b,"0x0100",eReadWrite}, //									 
	{0x3808, 0x06,"0x0100",eReadWrite}, // x output size H					 
	{0x3809, 0x60,"0x0100",eReadWrite}, // x output size L					 
	{0x380a, 0x04,"0x0100",eReadWrite}, // y output size H					 
	{0x380b, 0xc8,"0x0100",eReadWrite}, // y output size L					 
	{0x380c, 0x07,"0x0100",eReadWrite}, // HTS H							 
	{0x380d, 0x88,"0x0100",eReadWrite}, // HTS L							 
	{0x380e, 0x04,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0xdc,"0x0100",eReadWrite}, // VTS L							 
	{0x3814, 0x03,"0x0100",eReadWrite}, // x odd inc						 
	{0x3821, 0x67,"0x0100",eReadWrite}, // mirror on, bin on				 
	{0x382a, 0x03,"0x0100",eReadWrite}, // y odd inc						 
	{0x3830, 0x08,"0x0100",eReadWrite}, //									 
	{0x3836, 0x02,"0x0100",eReadWrite}, //									 
	{0x3f0a, 0x80,"0x0100",eReadWrite}, //									 
	{0x4001, 0x10,"0x0100",eReadWrite}, // total 128 black column			 
	{0x4022, 0x04,"0x0100",eReadWrite}, // Anchor left end H				 
	{0x4023, 0xb9,"0x0100",eReadWrite}, // Anchor left end L				 
	{0x4024, 0x05,"0x0100",eReadWrite}, // Anchor right start H 			 
	{0x4025, 0x2a,"0x0100",eReadWrite}, // Anchor right start L 			 
	{0x4026, 0x05,"0x0100",eReadWrite}, // Anchor right end H				 
	{0x4027, 0x2b,"0x0100",eReadWrite}, // Anchor right end L				 
	{0x402b, 0x04,"0x0100",eReadWrite}, // top black line number			 
	{0x402e, 0x08,"0x0100",eReadWrite}, // bottom black line start			 
	{0x4500, 0x38,"0x0100",eReadWrite}, 									 
	{0x4600, 0x00,"0x0100",eReadWrite}, 									 
	{0x4601, 0xcb,"0x0100",eReadWrite}, 									 
	{0x382d, 0x7f,"0x0100",eReadWrite}, 								 
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};
const IsiRegDescription_t OV8858_g_1632x1224P30_twolane_fpschg[] =
{    
	{0x380e, 0x04,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0xdc,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_1632x1224P25_twolane_fpschg[] =
{  	
	{0x380e, 0x05,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0xd4,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};


const IsiRegDescription_t OV8858_g_1632x1224P20_twolane_fpschg[] =
{
    {0x380e, 0x07,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0x4a,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_1632x1224P15_twolane_fpschg[] =
{
		
	{0x380e, 0x09,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0xb8,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_1632x1224P10_twolane_fpschg[] =
{ 
	{0x380e, 0x0e,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0x94,"0x0100",eReadWrite}, // VTS L	
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_1632x1224P7_twolane_fpschg[] =
{
	{0x380e, 0x13,"0x0100",eReadWrite}, // VTS H
	{0x380f, 0x70,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_3264x2448_twolane[] =
{
	{0x030e, 0x02,"0x0100",eReadWrite}, // pll2_rdiv					
	{0x030f, 0x04,"0x0100",eReadWrite}, // pll2_divsp					
	{0x0312, 0x03,"0x0100",eReadWrite}, // pll2_pre_div0, pll2_r_divdac 
	{0x3015, 0x00,"0x0100",eReadWrite}, //								
	{0x3501, 0x9a,"0x0100",eReadWrite}, //								
	{0x3502, 0x20,"0x0100",eReadWrite}, //								
	//{0x3508, 0x02,"0x0100",eReadWrite}, //								
	{0x3706, 0x6a,"0x0100",eReadWrite}, //								
	{0x370a, 0x01,"0x0100",eReadWrite}, //								
	{0x370b, 0x6a,"0x0100",eReadWrite}, //								
	{0x3778, 0x32,"0x0100",eReadWrite}, //								
	{0x3808, 0x0c,"0x0100",eReadWrite}, // x output size H				
	{0x3809, 0xc0,"0x0100",eReadWrite}, // x output size L				
	{0x380a, 0x09,"0x0100",eReadWrite}, // y output size H				
	{0x380b, 0x90,"0x0100",eReadWrite}, // y output size L				
	{0x380c, 0x07,"0x0100",eReadWrite}, // HTS H						
	{0x380d, 0x94,"0x0100",eReadWrite}, // HTS L						
	{0x380e, 0x09,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0xaa,"0x0100",eReadWrite}, // VTS L						
	{0x3814, 0x01,"0x0100",eReadWrite}, // x odd inc					
	{0x3821, 0x46,"0x0100",eReadWrite}, // mirror on, bin off			
	{0x382a, 0x01,"0x0100",eReadWrite}, // y odd inc					
	{0x3830, 0x06,"0x0100",eReadWrite}, //								
	{0x3836, 0x01,"0x0100",eReadWrite}, //								
	{0x3f0a, 0x00,"0x0100",eReadWrite}, //								
	{0x4001, 0x00,"0x0100",eReadWrite}, // total 256 black column		
	{0x4022, 0x0b,"0x0100",eReadWrite}, // Anchor left end H			
	{0x4023, 0xc3,"0x0100",eReadWrite}, // Anchor left end L			
	{0x4024, 0x0c,"0x0100",eReadWrite}, // Anchor right start H 		
	{0x4025, 0x36,"0x0100",eReadWrite}, // Anchor right start L 		
	{0x4026, 0x0c,"0x0100",eReadWrite}, // Anchor right end H			
	{0x4027, 0x37,"0x0100",eReadWrite}, // Anchor right end L			
	{0x402b, 0x08,"0x0100",eReadWrite}, // top black line number		
	{0x402e, 0x0c,"0x0100",eReadWrite}, // bottom black line start		
	{0x4500, 0x58,"0x0100",eReadWrite}, 								
	{0x4600, 0x01,"0x0100",eReadWrite}, 								
	{0x4601, 0x97,"0x0100",eReadWrite}, 								
	{0x382d, 0xff,"0x0100",eReadWrite}, 								
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};
const IsiRegDescription_t OV8858_g_3264x2448P7_twolane_fpschg[] =
{
    {0x380e, 0x13,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0x54,"0x0100",eReadWrite}, // VTS L						
    {0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_3264x2448P15_twolane_fpschg[] =
{
    {0x380e, 0x09,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0xaa,"0x0100",eReadWrite}, // VTS L						
    {0x0000 ,0x00,"eTableEnd",eTableEnd}
};



const IsiRegDescription_t OV8858_g_aRegDescription_fourlane[] =
{
	// MIPI=720Mbps, SysClk=72Mhz,Dac Clock=360Mhz.
{0x0103, 0x01 , "0x0100",eReadWrite}, //software reset
{0x0100, 0x00 , "0x0100",eReadWrite}, //software standby
{0x0100, 0x00 , "0x0100",eReadWrite}, //
{0x0100, 0x00 , "0x0100",eReadWrite}, //
{0x0100 , 0x00 , "0x0100",eReadWrite}, //
{0x0302 , 0x1e , "0x0100",eReadWrite}, //pll1_multi
{0x0303 , 0x00 , "0x0100",eReadWrite}, //pll1_divm
{0x0304 , 0x03 , "0x0100",eReadWrite}, //pll1_div_mipi
{0x030e , 0x00 , "0x0100",eReadWrite}, //pll2_rdiv
{0x030f , 0x09 , "0x0100",eReadWrite}, //pll2_divsp
{0x0312 , 0x01 , "0x0100",eReadWrite}, //pll2_pre_div0, pll2_r_divdac
{0x031e , 0x0c , "0x0100",eReadWrite}, //pll1_no_lat
{0x3600 , 0x00 , "0x0100",eReadWrite},
{0x3601 , 0x00 , "0x0100",eReadWrite},
{0x3602 , 0x00 , "0x0100",eReadWrite},
{0x3603 , 0x00 , "0x0100",eReadWrite},
{0x3604 , 0x22 , "0x0100",eReadWrite},
{0x3605 , 0x30 , "0x0100",eReadWrite},
{0x3606 , 0x00 , "0x0100",eReadWrite},
{0x3607 , 0x20 , "0x0100",eReadWrite},
{0x3608 , 0x11 , "0x0100",eReadWrite},
{0x3609 , 0x28 , "0x0100",eReadWrite},
{0x360a , 0x00 , "0x0100",eReadWrite},
{0x360b , 0x06 , "0x0100",eReadWrite},
{0x360c , 0xdc , "0x0100",eReadWrite},
{0x360d , 0x40 , "0x0100",eReadWrite},
{0x360e , 0x0c , "0x0100",eReadWrite},
{0x360f , 0x20 , "0x0100",eReadWrite},
{0x3610 , 0x07 , "0x0100",eReadWrite},
{0x3611 , 0x20 , "0x0100",eReadWrite},
{0x3612 , 0x88 , "0x0100",eReadWrite},
{0x3613 , 0x80 , "0x0100",eReadWrite},
{0x3614 , 0x58 , "0x0100",eReadWrite},
{0x3615 , 0x00 , "0x0100",eReadWrite},
{0x3616 , 0x4a , "0x0100",eReadWrite},
{0x3617 , 0xb0 , "0x0100",eReadWrite},
{0x3618 , 0x56 , "0x0100",eReadWrite},
{0x3619 , 0x70 , "0x0100",eReadWrite},
{0x361a , 0x99 , "0x0100",eReadWrite},
{0x361b , 0x00 , "0x0100",eReadWrite},
{0x361c , 0x07 , "0x0100",eReadWrite},
{0x361d , 0x00 , "0x0100",eReadWrite},
{0x361e , 0x00 , "0x0100",eReadWrite},
{0x361f , 0x00 , "0x0100",eReadWrite},
{0x3638 , 0xff , "0x0100",eReadWrite},
{0x3633 , 0x0c , "0x0100",eReadWrite},
{0x3634 , 0x0c , "0x0100",eReadWrite},
{0x3635 , 0x0c , "0x0100",eReadWrite},
{0x3636 , 0x0c , "0x0100",eReadWrite},
{0x3645 , 0x13 , "0x0100",eReadWrite},
{0x3646 , 0x83 , "0x0100",eReadWrite},
{0x364a , 0x07 , "0x0100",eReadWrite},
{0x3015 , 0x01 , "0x0100",eReadWrite}, //
{0x3018 , 0x72 , "0x0100",eReadWrite}, //MIPI 4 lane
{0x3020 , 0x93 , "0x0100",eReadWrite}, //Clock switch output normal, pclk_div =/1
{0x3022 , 0x01 , "0x0100",eReadWrite}, //pd_mipi enable when rst_sync
{0x3031 , 0x0a , "0x0100",eReadWrite}, //MIPI 10-bit mode
{0x3034 , 0x00 , "0x0100",eReadWrite},
{0x3106 , 0x01 , "0x0100",eReadWrite}, //sclk_div, sclk_pre_div
{0x3305 , 0xf1 , "0x0100",eReadWrite},
{0x3308 , 0x00 , "0x0100",eReadWrite},
{0x3309 , 0x28 , "0x0100",eReadWrite},
{0x330a , 0x00 , "0x0100",eReadWrite},
{0x330b , 0x20 , "0x0100",eReadWrite},
{0x330c , 0x00 , "0x0100",eReadWrite},
{0x330d , 0x00 , "0x0100",eReadWrite},
{0x330e , 0x00 , "0x0100",eReadWrite},
{0x330f , 0x40 , "0x0100",eReadWrite},
{0x3307 , 0x04 , "0x0100",eReadWrite},
{0x3500 , 0x00 , "0x0100",eReadWrite}, //exposure H
{0x3501 , 0x4d , "0x0100",eReadWrite}, //exposure M
{0x3502 , 0x40 , "0x0100",eReadWrite}, //exposure L
{0x3503 , 0x00 , "0x0100",eReadWrite}, //gain delay 1 frame, exposure delay 1 frame, real gain
{0x3505 , 0x80 , "0x0100",eReadWrite}, //gain option
{0x3508 , 0x04 , "0x0100",eReadWrite}, //gain H
{0x3509 , 0x00 , "0x0100",eReadWrite}, //gain L
{0x350c , 0x00 , "0x0100",eReadWrite}, //short gain H
{0x350d , 0x80 , "0x0100",eReadWrite}, //short gain L
{0x3510 , 0x00 , "0x0100",eReadWrite}, //short exposure H
{0x3511 , 0x02 , "0x0100",eReadWrite}, //short exposure M
{0x3512 , 0x00 , "0x0100",eReadWrite}, //short exposure L
{0x3700 , 0x18 , "0x0100",eReadWrite},
{0x3701 , 0x0c , "0x0100",eReadWrite},
{0x3702 , 0x28 , "0x0100",eReadWrite},
{0x3703 , 0x19 , "0x0100",eReadWrite},
{0x3704 , 0x14 , "0x0100",eReadWrite},
{0x3705 , 0x00 , "0x0100",eReadWrite},
{0x3706 , 0x35 , "0x0100",eReadWrite},
{0x3707 , 0x04 , "0x0100",eReadWrite},
{0x3708 , 0x24 , "0x0100",eReadWrite},
{0x3709 , 0x33 , "0x0100",eReadWrite},
{0x370a , 0x00 , "0x0100",eReadWrite},
{0x370b , 0xb5 , "0x0100",eReadWrite},
{0x370c , 0x04 , "0x0100",eReadWrite},
{0x3718 , 0x12 , "0x0100",eReadWrite},
{0x3719 , 0x31 , "0x0100",eReadWrite},
{0x3712 , 0x42 , "0x0100",eReadWrite},
{0x3714 , 0x24 , "0x0100",eReadWrite},
{0x371e , 0x19 , "0x0100",eReadWrite},
{0x371f , 0x40 , "0x0100",eReadWrite},
{0x3720 , 0x05 , "0x0100",eReadWrite},
{0x3721 , 0x05 , "0x0100",eReadWrite},
{0x3724 , 0x06 , "0x0100",eReadWrite},
{0x3725 , 0x01 , "0x0100",eReadWrite},
{0x3726 , 0x06 , "0x0100",eReadWrite},
{0x3728 , 0x05 , "0x0100",eReadWrite},
{0x3729 , 0x02 , "0x0100",eReadWrite},
{0x372a , 0x03 , "0x0100",eReadWrite},
{0x372b , 0x53 , "0x0100",eReadWrite},
{0x372c , 0xa3 , "0x0100",eReadWrite},
{0x372d , 0x53 , "0x0100",eReadWrite},
{0x372e , 0x06 , "0x0100",eReadWrite},
{0x372f , 0x10 , "0x0100",eReadWrite},
{0x3730 , 0x01 , "0x0100",eReadWrite},
{0x3731 , 0x06 , "0x0100",eReadWrite},
{0x3732 , 0x14 , "0x0100",eReadWrite},
{0x3733 , 0x10 , "0x0100",eReadWrite},
{0x3734 , 0x40 , "0x0100",eReadWrite},
{0x3736 , 0x20 , "0x0100",eReadWrite},
{0x373a , 0x05 , "0x0100",eReadWrite},
{0x373b , 0x06 , "0x0100",eReadWrite},
{0x373c , 0x0a , "0x0100",eReadWrite},
{0x373e , 0x03 , "0x0100",eReadWrite},
{0x3755 , 0x10 , "0x0100",eReadWrite},
{0x3758 , 0x00 , "0x0100",eReadWrite},
{0x3759 , 0x4c , "0x0100",eReadWrite},
{0x375a , 0x06 , "0x0100",eReadWrite},
{0x375b , 0x13 , "0x0100",eReadWrite},
{0x375c , 0x20 , "0x0100",eReadWrite},
{0x375d , 0x02 , "0x0100",eReadWrite},
{0x375e , 0x00 , "0x0100",eReadWrite},
{0x375f , 0x14 , "0x0100",eReadWrite},
{0x3768 , 0x22 , "0x0100",eReadWrite},
{0x3769 , 0x44 , "0x0100",eReadWrite},
{0x376a , 0x44 , "0x0100",eReadWrite},
{0x3761 , 0x00 , "0x0100",eReadWrite},
{0x3762 , 0x00 , "0x0100",eReadWrite},
{0x3763 , 0x00 , "0x0100",eReadWrite},
{0x3766 , 0xff , "0x0100",eReadWrite},
{0x376b , 0x00 , "0x0100",eReadWrite},
{0x3772 , 0x23 , "0x0100",eReadWrite},
{0x3773 , 0x02 , "0x0100",eReadWrite},
{0x3774 , 0x16 , "0x0100",eReadWrite},
{0x3775 , 0x12 , "0x0100",eReadWrite},
{0x3776 , 0x04 , "0x0100",eReadWrite},
{0x3777 , 0x00 , "0x0100",eReadWrite},
{0x3778 , 0x1b , "0x0100",eReadWrite},
{0x37a0 , 0x44 , "0x0100",eReadWrite},
{0x37a1 , 0x3d , "0x0100",eReadWrite},
{0x37a2 , 0x3d , "0x0100",eReadWrite},
{0x37a3 , 0x00 , "0x0100",eReadWrite},
{0x37a4 , 0x00 , "0x0100",eReadWrite},
{0x37a5 , 0x00 , "0x0100",eReadWrite},
{0x37a6 , 0x00 , "0x0100",eReadWrite},
{0x37a7 , 0x44 , "0x0100",eReadWrite},
{0x37a8 , 0x4c , "0x0100",eReadWrite},
{0x37a9 , 0x4c , "0x0100",eReadWrite},
{0x3760 , 0x00 , "0x0100",eReadWrite},
{0x376f , 0x01 , "0x0100",eReadWrite},
{0x37aa , 0x44 , "0x0100",eReadWrite},
{0x37ab , 0x2e , "0x0100",eReadWrite},
{0x37ac , 0x2e , "0x0100",eReadWrite},
{0x37ad , 0x33 , "0x0100",eReadWrite},
{0x37ae , 0x0d   , "0x0100",eReadWrite},
{0x37af , 0x0d , "0x0100",eReadWrite},
{0x37b0 , 0x00 , "0x0100",eReadWrite},
{0x37b1 , 0x00 , "0x0100",eReadWrite},
{0x37b2 , 0x00 , "0x0100",eReadWrite},
{0x37b3 , 0x42 , "0x0100",eReadWrite},
{0x37b4 , 0x42 , "0x0100",eReadWrite},
{0x37b5 , 0x33 , "0x0100",eReadWrite},
{0x37b6 , 0x00 , "0x0100",eReadWrite},
{0x37b7 , 0x00 , "0x0100",eReadWrite},
{0x37b8 , 0x00 , "0x0100",eReadWrite},
{0x37b9 , 0xff , "0x0100",eReadWrite},
{0x3800 , 0x00 , "0x0100",eReadWrite}, //x start H
{0x3801 , 0x0c , "0x0100",eReadWrite}, //x start L
{0x3802 , 0x00 , "0x0100",eReadWrite}, //y start H
{0x3803 , 0x0c , "0x0100",eReadWrite}, //y start L
{0x3804 , 0x0c , "0x0100",eReadWrite}, //x end H
{0x3805 , 0xd3 , "0x0100",eReadWrite}, //x end L
{0x3806 , 0x09 , "0x0100",eReadWrite}, //y end H
{0x3807 , 0xa3 , "0x0100",eReadWrite}, //y end L
{0x3808 , 0x06 , "0x0100",eReadWrite}, //x output size H
{0x3809 , 0x60 , "0x0100",eReadWrite}, //x output size L
{0x380a , 0x04 , "0x0100",eReadWrite}, //y output size H
{0x380b , 0xc8 , "0x0100",eReadWrite}, //y output size L
{0x380c , 0x07 , "0x0100",eReadWrite}, //03 , "0x0100",eReadWrite}, //HTS H
{0x380d , 0x88 , "0x0100",eReadWrite}, //c4 , "0x0100",eReadWrite}, //HTS L
{0x380e , 0x04 , "0x0100",eReadWrite}, //VTS H
{0x380f , 0xdc , "0x0100",eReadWrite}, //VTS L
{0x3810 , 0x00 , "0x0100",eReadWrite}, //ISP x win H
{0x3811 , 0x04 , "0x0100",eReadWrite}, //ISP x win L
{0x3813 , 0x02 , "0x0100",eReadWrite}, //ISP y win L
{0x3814 , 0x03 , "0x0100",eReadWrite}, //x odd inc
{0x3815 , 0x01 , "0x0100",eReadWrite}, //x even inc
{0x3820 , 0x00 , "0x0100",eReadWrite}, //vflip off
{0x3821 , 0x67 , "0x0100",eReadWrite}, //mirror on, bin on
{0x382a , 0x03 , "0x0100",eReadWrite}, //y odd inc
{0x382b , 0x01 , "0x0100",eReadWrite}, //y even inc
{0x3830 , 0x08 , "0x0100",eReadWrite},
{0x3836 , 0x02 , "0x0100",eReadWrite},
{0x3837 , 0x18 , "0x0100",eReadWrite},
{0x3841 , 0xff , "0x0100",eReadWrite}, //window auto size enable
{0x3846 , 0x48 , "0x0100",eReadWrite},
{0x3d85 , 0x14 , "0x0100",eReadWrite}, //OTP power up load data enable, OTP powerr up load setting disable
{0x3f08 , 0x08 , "0x0100",eReadWrite},
{0x3f0a , 0x80 , "0x0100",eReadWrite},
{0x4000 , 0xf1 , "0x0100",eReadWrite}, //out_range_trig, format_chg_trig, gain_trig, exp_chg_trig, median filter enable
{0x4001 , 0x10 , "0x0100",eReadWrite}, //total 128 black column
{0x4005 , 0x10 , "0x0100",eReadWrite}, //BLC target L
{0x4002 , 0x27 , "0x0100",eReadWrite}, //value used to limit BLC offset         
{0x4009 , 0x81 , "0x0100",eReadWrite}, //final BLC offset limitation enable
{0x400b , 0x0c , "0x0100",eReadWrite}, //DCBLC on, DCBLC manual mode on
{0x401b , 0x00 , "0x0100",eReadWrite}, //zero line R coefficient
{0x401d , 0x00 , "0x0100",eReadWrite}, //zoro line T coefficient
{0x4020 , 0x00 , "0x0100",eReadWrite}, //Anchor left start H
{0x4021 , 0x04 , "0x0100",eReadWrite}, //Anchor left start L
{0x4022 , 0x04 , "0x0100",eReadWrite}, //Anchor left end H
{0x4023 , 0xb9 , "0x0100",eReadWrite}, //Anchor left end L
{0x4024 , 0x05 , "0x0100",eReadWrite}, //Anchor right start H
{0x4025 , 0x2a , "0x0100",eReadWrite}, //Anchor right start L
{0x4026 , 0x05 , "0x0100",eReadWrite}, //Anchor right end H
{0x4027 , 0x2b , "0x0100",eReadWrite}, //Anchor right end L
{0x4028 , 0x00 , "0x0100",eReadWrite}, //top zero line start
{0x4029 , 0x02 , "0x0100",eReadWrite}, //top zero line number
{0x402a , 0x04 , "0x0100",eReadWrite}, //top black line start
{0x402b , 0x04 , "0x0100",eReadWrite}, //top black line number
{0x402c , 0x02 , "0x0100",eReadWrite}, //bottom zero line start
{0x402d , 0x02 , "0x0100",eReadWrite}, //bottom zoro line number
{0x402e , 0x08 , "0x0100",eReadWrite}, //bottom black line start
{0x402f , 0x02 , "0x0100",eReadWrite}, //bottom black line number
{0x401f , 0x00 , "0x0100",eReadWrite}, //interpolation x disable, interpolation y disable, Anchor one disable
{0x4034 , 0x3f , "0x0100",eReadWrite},
{0x403d , 0x04 , "0x0100",eReadWrite}, //md_precison_en
{0x4300 , 0xff , "0x0100",eReadWrite}, //clip max H
{0x4301 , 0x00 , "0x0100",eReadWrite}, //clip min H
{0x4302 , 0x0f , "0x0100",eReadWrite}, //clip min L, clip max L
{0x4316 , 0x00 , "0x0100",eReadWrite},
{0x4500 , 0x38 , "0x0100",eReadWrite},
{0x4503 , 0x18 , "0x0100",eReadWrite},
{0x4600 , 0x00 , "0x0100",eReadWrite},
{0x4601 , 0xcb , "0x0100",eReadWrite},
{0x481f , 0x32 , "0x0100",eReadWrite}, //clk prepare min
{0x4837 , 0x16 , "0x0100",eReadWrite}, //global timing
{0x4850 , 0x10 , "0x0100",eReadWrite}, //lane 1 = 1, lane 0 = 0
{0x4851 , 0x32 , "0x0100",eReadWrite}, //lane 3 = 3, lane 2 = 2
{0x4b00 , 0x2a , "0x0100",eReadWrite},
{0x4b0d , 0x00 , "0x0100",eReadWrite},
{0x4d00 , 0x04 , "0x0100",eReadWrite}, //temperature sensor
{0x4d01 , 0x18 , "0x0100",eReadWrite},
{0x4d02 , 0xc3 , "0x0100",eReadWrite},
{0x4d03 , 0xff , "0x0100",eReadWrite},
{0x4d04 , 0xff , "0x0100",eReadWrite},
{0x4d05 , 0xff , "0x0100",eReadWrite}, //temperature sensor
{0x5000 , 0x7e , "0x0100",eReadWrite}, //slave AWB gain enable, slave AWB statistics enable, master AWB gain enable, master AWB statistics enable, BPC on, WPC on
{0x5001 , 0x01 , "0x0100",eReadWrite}, //BLC on
{0x5002 , 0x08 , "0x0100",eReadWrite}, //H scale off, WBMATCH select slave sensors gain, WBMATCH off, OTP_DPC off,        
{0x5003 , 0x20 , "0x0100",eReadWrite},//; DPC_DBC buffer control enable, WB
{0x5046 , 0x12 , "0x0100",eReadWrite},
{0x5901 , 0x00 , "0x0100",eReadWrite}, //H skip off, V skip off
{0x5e00 , 0x00 , "0x0100",eReadWrite}, //test pattern off
{0x5e01 , 0x41 , "0x0100",eReadWrite}, //window cut enable
{0x382d , 0x7f , "0x0100",eReadWrite},
{0x4825 , 0x3a , "0x0100",eReadWrite}, //lpx_p_min
{0x4826 , 0x40 , "0x0100",eReadWrite}, //hs_prepare_min
{0x4808 , 0x25 , "0x0100",eReadWrite}, //wake up 
{0x0000 ,0x00,"eTableEnd",eTableEnd}
	
};

const IsiRegDescription_t OV8858_g_1632x1224_fourlane[] =
{
//;; MIPI=720Mbps, SysClk=72Mhz,Dac Clock=360Mhz.
//;;
{0x0100 , 0x00 , "0x0100",eReadWrite},
{0x030f , 0x09 , "0x0100",eReadWrite}, //pll2_divsp
{0x3501 , 0x4d , "0x0100",eReadWrite}, //exposure M
{0x3502 , 0x40 , "0x0100",eReadWrite}, //exposure L
//{0x3508 , 0x04 , "0x0100",eReadWrite}, //gain H
{0x3700 , 0x18 , "0x0100",eReadWrite},
{0x3701 , 0x0c , "0x0100",eReadWrite},
{0x3702 , 0x28 , "0x0100",eReadWrite},
{0x3703 , 0x19 , "0x0100",eReadWrite},
{0x3704 , 0x14 , "0x0100",eReadWrite},
{0x3706 , 0x35 , "0x0100",eReadWrite},
{0x3707 , 0x04 , "0x0100",eReadWrite},
{0x3708 , 0x24 , "0x0100",eReadWrite},
{0x3709 , 0x33 , "0x0100",eReadWrite},
{0x370a , 0x00 , "0x0100",eReadWrite},
{0x370b , 0xb5 , "0x0100",eReadWrite},
{0x370c , 0x04 , "0x0100",eReadWrite},
{0x3718 , 0x12 , "0x0100",eReadWrite},
{0x3712 , 0x42 , "0x0100",eReadWrite},
{0x371e , 0x19 , "0x0100",eReadWrite},
{0x371f , 0x40 , "0x0100",eReadWrite},
{0x3720 , 0x05 , "0x0100",eReadWrite},
{0x3721 , 0x05 , "0x0100",eReadWrite},
{0x3724 , 0x06 , "0x0100",eReadWrite},
{0x3725 , 0x01 , "0x0100",eReadWrite},
{0x3726 , 0x06 , "0x0100",eReadWrite},
{0x3728 , 0x05 , "0x0100",eReadWrite},
{0x3729 , 0x02 , "0x0100",eReadWrite},
{0x372a , 0x03 , "0x0100",eReadWrite},
{0x372b , 0x53 , "0x0100",eReadWrite},
{0x372c , 0xa3 , "0x0100",eReadWrite},
{0x372d , 0x53 , "0x0100",eReadWrite},
{0x372e , 0x06 , "0x0100",eReadWrite},
{0x372f , 0x10 , "0x0100",eReadWrite},
{0x3730 , 0x01 , "0x0100",eReadWrite},
{0x3731 , 0x06 , "0x0100",eReadWrite},
{0x3732 , 0x14 , "0x0100",eReadWrite},
{0x3736 , 0x20 , "0x0100",eReadWrite},
{0x373a , 0x05 , "0x0100",eReadWrite},
{0x373b , 0x06 , "0x0100",eReadWrite},
{0x373c , 0x0a , "0x0100",eReadWrite},
{0x373e , 0x03 , "0x0100",eReadWrite},
{0x375a , 0x06 , "0x0100",eReadWrite},
{0x375b , 0x13 , "0x0100",eReadWrite},
{0x375d , 0x02 , "0x0100",eReadWrite},
{0x375f , 0x14 , "0x0100",eReadWrite},
{0x3772 , 0x23 , "0x0100",eReadWrite},
{0x3773 , 0x02 , "0x0100",eReadWrite},
{0x3774 , 0x16 , "0x0100",eReadWrite},
{0x3775 , 0x12 , "0x0100",eReadWrite},
{0x3776 , 0x04 , "0x0100",eReadWrite},
{0x3778 , 0x1b , "0x0100",eReadWrite},
{0x37a0 , 0x44 , "0x0100",eReadWrite},
{0x37a1 , 0x3d , "0x0100",eReadWrite},
{0x37a2 , 0x3d , "0x0100",eReadWrite},
{0x37a7 , 0x44 , "0x0100",eReadWrite},
{0x37a8 , 0x4c , "0x0100",eReadWrite},
{0x37a9 , 0x4c , "0x0100",eReadWrite},
{0x37aa , 0x44 , "0x0100",eReadWrite},
{0x37ab , 0x2e , "0x0100",eReadWrite},
{0x37ac , 0x2e , "0x0100",eReadWrite},
{0x37ad , 0x33 , "0x0100",eReadWrite},
{0x37ae , 0x0d , "0x0100",eReadWrite},
{0x37af , 0x0d , "0x0100",eReadWrite},
{0x37b3 , 0x42 , "0x0100",eReadWrite},
{0x37b4 , 0x42 , "0x0100",eReadWrite},
{0x37b5 , 0x33 , "0x0100",eReadWrite},
{0x3808 , 0x06 , "0x0100",eReadWrite}, //x output size H
{0x3809 , 0x60 , "0x0100",eReadWrite}, //x output size L
{0x380a , 0x04 , "0x0100",eReadWrite}, //y output size H
{0x380b , 0xc8 , "0x0100",eReadWrite}, //y output size L
{0x380c , 0x07 , "0x0100",eReadWrite}, //HTS H
{0x380d , 0x88 , "0x0100",eReadWrite}, //HTS L
{0x380e , 0x04 , "0x0100",eReadWrite}, //VTS H
{0x380f , 0xdc , "0x0100",eReadWrite}, //VTS L
{0x3814 , 0x03 , "0x0100",eReadWrite}, //x odd inc
{0x3821 , 0x67 , "0x0100",eReadWrite}, //mirror on, bin on
{0x382a , 0x03 , "0x0100",eReadWrite}, //y odd inc
{0x3830 , 0x08 , "0x0100",eReadWrite},
{0x3836 , 0x02 , "0x0100",eReadWrite},
{0x3f08 , 0x08 , "0x0100",eReadWrite},
{0x3f0a , 0x80 , "0x0100",eReadWrite},
{0x4001 , 0x10 , "0x0100",eReadWrite}, //total 128 black column
{0x4022 , 0x04 , "0x0100",eReadWrite}, //Anchor left end H
{0x4023 , 0xb9 , "0x0100",eReadWrite}, //Anchor left end L
{0x4024 , 0x05 , "0x0100",eReadWrite}, //Anchor right start H
{0x4025 , 0x2a , "0x0100",eReadWrite}, //Anchor right start L
{0x4026 , 0x05 , "0x0100",eReadWrite}, //Anchor right end H
{0x4027 , 0x2b , "0x0100",eReadWrite}, //Anchor right end L
{0x402b , 0x04 , "0x0100",eReadWrite}, //top black line number
{0x402e , 0x08 , "0x0100",eReadWrite}, //bottom black line start
{0x4500 , 0x38 , "0x0100",eReadWrite},
{0x4600 , 0x00 , "0x0100",eReadWrite},
{0x4601 , 0xcb , "0x0100",eReadWrite},
{0x382d , 0x7f , "0x0100",eReadWrite},
{0x0000 ,0x00,"eTableEnd",eTableEnd}

};
const IsiRegDescription_t OV8858_g_1632x1224P30_fourlane_fpschg[] =
{    
	{0x380e, 0x04,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0xdc,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_1632x1224P25_fourlane_fpschg[] =
{  	
	{0x380e, 0x05,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0xd4,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};


const IsiRegDescription_t OV8858_g_1632x1224P20_fourlane_fpschg[] =
{
    {0x380e, 0x07,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0x4a,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_1632x1224P15_fourlane_fpschg[] =
{
		
	{0x380e, 0x09,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0xb8,"0x0100",eReadWrite}, // VTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_1632x1224P10_fourlane_fpschg[] =
{ 
	{0x380e, 0x0e,"0x0100",eReadWrite}, // VTS H							 
	{0x380f, 0x94,"0x0100",eReadWrite}, // VTS L	
	{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_1632x1224P7_fourlane_fpschg[] =
{
        {0x380e, 0x13,"0x0100",eReadWrite}, // VTS H
        {0x380f, 0x70,"0x0100",eReadWrite}, // VTS L
        {0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_3264x2448_fourlane[] =
{
{0x0100 , 0x00 , "0x0100",eReadWrite},
{0x030f , 0x04 , "0x0100",eReadWrite}, //pll2_divsp
{0x3501 , 0x9a , "0x0100",eReadWrite}, //exposure M
{0x3502 , 0x20 , "0x0100",eReadWrite}, //exposure L
//{0x3508 , 0x02 , "0x0100",eReadWrite}, //gain H
{0x3700 , 0x30 , "0x0100",eReadWrite},
{0x3701 , 0x18 , "0x0100",eReadWrite},
{0x3702 , 0x50 , "0x0100",eReadWrite},
{0x3703 , 0x32 , "0x0100",eReadWrite},
{0x3704 , 0x28 , "0x0100",eReadWrite},
{0x3706 , 0x6a , "0x0100",eReadWrite},
{0x3707 , 0x08 , "0x0100",eReadWrite},
{0x3708 , 0x48 , "0x0100",eReadWrite},
{0x3709 , 0x66 , "0x0100",eReadWrite},
{0x370a , 0x01 , "0x0100",eReadWrite},
{0x370b , 0x6a , "0x0100",eReadWrite},
{0x370c , 0x07 , "0x0100",eReadWrite},
{0x3718 , 0x14 , "0x0100",eReadWrite},
{0x3712 , 0x44 , "0x0100",eReadWrite},
{0x371e , 0x31 , "0x0100",eReadWrite},
{0x371f , 0x7f , "0x0100",eReadWrite},
{0x3720 , 0x0a , "0x0100",eReadWrite},
{0x3721 , 0x0a , "0x0100",eReadWrite},
{0x3724 , 0x0c , "0x0100",eReadWrite},
{0x3725 , 0x02 , "0x0100",eReadWrite},
{0x3726 , 0x0c , "0x0100",eReadWrite},
{0x3728 , 0x0a , "0x0100",eReadWrite},
{0x3729 , 0x03 , "0x0100",eReadWrite},
{0x372a , 0x06 , "0x0100",eReadWrite},
{0x372b , 0xa6 , "0x0100",eReadWrite},
{0x372c , 0xa6 , "0x0100",eReadWrite},
{0x372d , 0xa6 , "0x0100",eReadWrite},
{0x372e , 0x0c , "0x0100",eReadWrite},
{0x372f , 0x20 , "0x0100",eReadWrite},
{0x3730 , 0x02 , "0x0100",eReadWrite},
{0x3731 , 0x0c , "0x0100",eReadWrite},
{0x3732 , 0x28 , "0x0100",eReadWrite},
{0x3736 , 0x30 , "0x0100",eReadWrite},
{0x373a , 0x0a , "0x0100",eReadWrite},
{0x373b , 0x0b , "0x0100",eReadWrite},
{0x373c , 0x14 , "0x0100",eReadWrite},
{0x373e , 0x06 , "0x0100",eReadWrite},
{0x375a , 0x0c , "0x0100",eReadWrite},
{0x375b , 0x26 , "0x0100",eReadWrite},
{0x375d , 0x04 , "0x0100",eReadWrite},
{0x375f , 0x28 , "0x0100",eReadWrite},
{0x3772 , 0x46 , "0x0100",eReadWrite},
{0x3773 , 0x04 , "0x0100",eReadWrite},
{0x3774 , 0x2c , "0x0100",eReadWrite},
{0x3775 , 0x13 , "0x0100",eReadWrite},
{0x3776 , 0x08 , "0x0100",eReadWrite},
{0x3778 , 0x16 , "0x0100",eReadWrite},
{0x37a0 , 0x88 , "0x0100",eReadWrite},
{0x37a1 , 0x7a , "0x0100",eReadWrite},
{0x37a2 , 0x7a , "0x0100",eReadWrite},
{0x37a7 , 0x88 , "0x0100",eReadWrite},
{0x37a8 , 0x98 , "0x0100",eReadWrite},
{0x37a9 , 0x98 , "0x0100",eReadWrite},
{0x37aa , 0x88 , "0x0100",eReadWrite},
{0x37ab , 0x5c , "0x0100",eReadWrite},
{0x37ac , 0x5c , "0x0100",eReadWrite},
{0x37ad , 0x55 , "0x0100",eReadWrite},
{0x37ae , 0x19 , "0x0100",eReadWrite},
{0x37af , 0x19 , "0x0100",eReadWrite},
{0x37b3 , 0x84 , "0x0100",eReadWrite},
{0x37b4 , 0x84 , "0x0100",eReadWrite},
{0x37b5 , 0x66 , "0x0100",eReadWrite},
{0x3808 , 0x0c , "0x0100",eReadWrite}, //x output size H
{0x3809 , 0xc0 , "0x0100",eReadWrite}, //x output size L
{0x380a , 0x09 , "0x0100",eReadWrite}, //y output size H
{0x380b , 0x90 , "0x0100",eReadWrite}, //y output size L
{0x380c , 0x07 , "0x0100",eReadWrite}, //HTS H
{0x380d , 0x94 , "0x0100",eReadWrite}, //HTS L
{0x380e , 0x09 , "0x0100",eReadWrite}, //VTS H
{0x380f , 0xaa , "0x0100",eReadWrite}, //VTS L
{0x3814 , 0x01 , "0x0100",eReadWrite}, //x odd inc
{0x3821 , 0x46 , "0x0100",eReadWrite}, //mirror on, bin off
{0x382a , 0x01 , "0x0100",eReadWrite}, //y odd inc
{0x3830 , 0x06 , "0x0100",eReadWrite},
{0x3836 , 0x01 , "0x0100",eReadWrite},
{0x3f08 , 0x08 , "0x0100",eReadWrite},
{0x3f0a , 0x00 , "0x0100",eReadWrite},
{0x4001 , 0x00 , "0x0100",eReadWrite}, //total 256 black column
{0x4022 , 0x0b , "0x0100",eReadWrite}, //Anchor left end H
{0x4023 , 0xc3 , "0x0100",eReadWrite}, //Anchor left end L
{0x4024 , 0x0c , "0x0100",eReadWrite}, //Anchor right start H
{0x4025 , 0x36 , "0x0100",eReadWrite}, //Anchor right start L
{0x4026 , 0x0c , "0x0100",eReadWrite}, //Anchor right end H
{0x4027 , 0x37 , "0x0100",eReadWrite}, //Anchor right end L
{0x402b , 0x08 , "0x0100",eReadWrite}, //top black line number
{0x402e , 0x0c , "0x0100",eReadWrite}, //bottom black line start
{0x4500 , 0x58 , "0x0100",eReadWrite},
{0x4600 , 0x01 , "0x0100",eReadWrite},
{0x4601 , 0x97 , "0x0100",eReadWrite},
{0x382d , 0xff , "0x0100",eReadWrite},
{0x0000 ,0x00,"eTableEnd",eTableEnd}

};

const IsiRegDescription_t OV8858_g_3264x2448P7_fourlane_fpschg[] =
{
    {0x380e, 0x26,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0xa8,"0x0100",eReadWrite}, // VTS L						
    {0x0000 ,0x00,"eTableEnd",eTableEnd}
};
const IsiRegDescription_t OV8858_g_3264x2448P10_fourlane_fpschg[] =
{
    {0x380e, 0x1c,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0xfe,"0x0100",eReadWrite}, // VTS L						
    {0x0000 ,0x00,"eTableEnd",eTableEnd}
};
const IsiRegDescription_t OV8858_g_3264x2448P15_fourlane_fpschg[] =
{
    {0x380e, 0x13,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0x54,"0x0100",eReadWrite}, // VTS L						
    {0x0000 ,0x00,"eTableEnd",eTableEnd}
};
const IsiRegDescription_t OV8858_g_3264x2448P20_fourlane_fpschg[] =
{
    {0x380e, 0x0e,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0x7f,"0x0100",eReadWrite}, // VTS L						
    {0x0000 ,0x00,"eTableEnd",eTableEnd}
};
const IsiRegDescription_t OV8858_g_3264x2448P25_fourlane_fpschg[] =
{
    {0x380e, 0x0b,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0x98,"0x0100",eReadWrite}, // VTS L						
    {0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_3264x2448P30_fourlane_fpschg[] =
{
    {0x380e, 0x09,"0x0100",eReadWrite}, // VTS H						
	{0x380f, 0xaa,"0x0100",eReadWrite}, // VTS L						
    {0x0000 ,0x00,"eTableEnd",eTableEnd}
};


//--1
const IsiRegDescription_t OV8858_g_aRegDescription_fourlane_R2A[] =
{
	//																														 
	// MIPI=720Mbps, SysClk=144Mhz,Dac Clock=360Mhz.																		 
	//																														 
	//																														 
	// v00_01_00 (05/29/2014) : initial setting 																			 
	//																														 
	// AM19 : 3617 <- 0xC0																									 
	//																														 
	// AM20 : change FWC_6K_EN to be default 0x3618=0x5a																	 
	{0x0103, 0x01, "0x0100",eReadWrite}, // software reset for OVTATool only												 
	{0x0103, 0x01, "0x0100",eReadWrite}, // software reset																	 
	{0x0100, 0x00, "0x0100",eReadWrite}, // software standby																 
	{0x0302, 0x1e, "0x0100",eReadWrite}, // pll1_multi																		 
	{0x0303, 0x00, "0x0100",eReadWrite}, // pll1_divm																		 
	{0x0304, 0x03, "0x0100",eReadWrite}, // pll1_div_mipi																	 
	{0x030e, 0x00, "0x0100",eReadWrite}, // pll2_rdiv																		 
	{0x030f, 0x04, "0x0100",eReadWrite}, // pll2_divsp																		 
	{0x0312, 0x01, "0x0100",eReadWrite}, // pll2_pre_div0, pll2_r_divdac													 
	{0x031e, 0x0c, "0x0100",eReadWrite}, // pll1_no_lat 																	 
	{0x3600, 0x00, "0x0100",eReadWrite},																					 
	{0x3601, 0x00, "0x0100",eReadWrite},																					 
	{0x3602, 0x00, "0x0100",eReadWrite},																					 
	{0x3603, 0x00, "0x0100",eReadWrite},																					 
	{0x3604, 0x22, "0x0100",eReadWrite},																					 
	{0x3605, 0x20, "0x0100",eReadWrite},																					 
	{0x3606, 0x00, "0x0100",eReadWrite},																					 
	{0x3607, 0x20, "0x0100",eReadWrite},																					 
	{0x3608, 0x11, "0x0100",eReadWrite},																					 
	{0x3609, 0x28, "0x0100",eReadWrite},																					 
	{0x360a, 0x00, "0x0100",eReadWrite},																					 
	{0x360b, 0x05, "0x0100",eReadWrite},																					 
	{0x360c, 0xd4, "0x0100",eReadWrite},																					 
	{0x360d, 0x40, "0x0100",eReadWrite},																					 
	{0x360e, 0x0c, "0x0100",eReadWrite},																					 
	{0x360f, 0x20, "0x0100",eReadWrite},																					 
	{0x3610, 0x07, "0x0100",eReadWrite},																					 
	{0x3611, 0x20, "0x0100",eReadWrite},																					 
	{0x3612, 0x88, "0x0100",eReadWrite},																					 
	{0x3613, 0x80, "0x0100",eReadWrite},																					 
	{0x3614, 0x58, "0x0100",eReadWrite},																					 
	{0x3615, 0x00, "0x0100",eReadWrite},																					 
	{0x3616, 0x4a, "0x0100",eReadWrite},																					 
	{0x3617, 0x90, "0x0100",eReadWrite},																					 
	{0x3618, 0x5a, "0x0100",eReadWrite},																					 
	{0x3619, 0x70, "0x0100",eReadWrite},																					 
	{0x361a, 0x99, "0x0100",eReadWrite},																					 
	{0x361b, 0x0a, "0x0100",eReadWrite},																					 
	{0x361c, 0x07, "0x0100",eReadWrite},																					 
	{0x361d, 0x00, "0x0100",eReadWrite},																					 
	{0x361e, 0x00, "0x0100",eReadWrite},																					 
	{0x361f, 0x00, "0x0100",eReadWrite},																					 
	{0x3638, 0xff, "0x0100",eReadWrite},																					 
	{0x3633, 0x0f, "0x0100",eReadWrite},																					 
	{0x3634, 0x0f, "0x0100",eReadWrite},																					 
	{0x3635, 0x0f, "0x0100",eReadWrite},																					 
	{0x3636, 0x12, "0x0100",eReadWrite},																					 
	{0x3645, 0x13, "0x0100",eReadWrite},																					 
	{0x3646, 0x83, "0x0100",eReadWrite},																					 
	{0x364a, 0x07, "0x0100",eReadWrite},																					 
	{0x3015, 0x01, "0x0100",eReadWrite}, // 																				 
	{0x3018, 0x72, "0x0100",eReadWrite}, // MIPI 4 lane 																	 
	{0x3020, 0x93, "0x0100",eReadWrite}, // Clock switch output normal, pclk_div =/1										 
	{0x3022, 0x01, "0x0100",eReadWrite}, // pd_mipi enable when rst_sync													 
	{0x3031, 0x0a, "0x0100",eReadWrite}, // MIPI 10-bit mode																 
	{0x3034, 0x00, "0x0100",eReadWrite}, // 																				 
	{0x3106, 0x01, "0x0100",eReadWrite}, // sclk_div, sclk_pre_div															 
	{0x3305, 0xf1, "0x0100",eReadWrite},																					 
	{0x3308, 0x00, "0x0100",eReadWrite},																					 
	{0x3309, 0x28, "0x0100",eReadWrite},																					 
	{0x330a, 0x00, "0x0100",eReadWrite},																					 
	{0x330b, 0x20, "0x0100",eReadWrite},																					 
	{0x330c, 0x00, "0x0100",eReadWrite},																					 
	{0x330d, 0x00, "0x0100",eReadWrite},																					 
	{0x330e, 0x00, "0x0100",eReadWrite},																					 
	{0x330f, 0x40, "0x0100",eReadWrite},																					 
	{0x3307, 0x04, "0x0100",eReadWrite},																					 
	{0x3500, 0x00, "0x0100",eReadWrite}, // exposure H																		 
	{0x3501, 0x4d, "0x0100",eReadWrite}, // exposure M																		 
	{0x3502, 0x40, "0x0100",eReadWrite}, // exposure L																		 
	{0x3503, 0x80, "0x0100",eReadWrite}, // gain delay ?, exposure delay 1 frame, real gain 								 
	{0x3505, 0x80, "0x0100",eReadWrite}, // gain option 																	 
	{0x3508, 0x04, "0x0100",eReadWrite}, // gain H																			 
	{0x3509, 0x00, "0x0100",eReadWrite}, // gain L																			 
	{0x350c, 0x00, "0x0100",eReadWrite}, // short gain H																	 
	{0x350d, 0x80, "0x0100",eReadWrite}, // short gain L																	 
	{0x3510, 0x00, "0x0100",eReadWrite}, // short exposure H																 
	{0x3511, 0x02, "0x0100",eReadWrite}, // short exposure M																 
	{0x3512, 0x00, "0x0100",eReadWrite}, // short exposure L																 
	{0x3700, 0x30, "0x0100",eReadWrite},																					 
	{0x3701, 0x18, "0x0100",eReadWrite},																					 
	{0x3702, 0x50, "0x0100",eReadWrite},																					 
	{0x3703, 0x32, "0x0100",eReadWrite},																					 
	{0x3704, 0x28, "0x0100",eReadWrite},																					 
	{0x3705, 0x00, "0x0100",eReadWrite},																					 
	{0x3706, 0x82, "0x0100",eReadWrite},																					 
	{0x3707, 0x08, "0x0100",eReadWrite},																					 
	{0x3708, 0x48, "0x0100",eReadWrite},																					 
	{0x3709, 0x66, "0x0100",eReadWrite},																					 
	{0x370a, 0x01, "0x0100",eReadWrite},																					 
	{0x370b, 0x82, "0x0100",eReadWrite},																					 
	{0x370c, 0x07, "0x0100",eReadWrite},																					 
	{0x3718, 0x14, "0x0100",eReadWrite},																					 
	{0x3719, 0x31, "0x0100",eReadWrite},																					 
	{0x3712, 0x44, "0x0100",eReadWrite},																					 
	{0x3714, 0x24, "0x0100",eReadWrite},																					 
	{0x371e, 0x31, "0x0100",eReadWrite},																					 
	{0x371f, 0x7f, "0x0100",eReadWrite},																					 
	{0x3720, 0x0a, "0x0100",eReadWrite},																					 
	{0x3721, 0x0a, "0x0100",eReadWrite},																					 
	{0x3724, 0x0c, "0x0100",eReadWrite},																					 
	{0x3725, 0x02, "0x0100",eReadWrite},																					 
	{0x3726, 0x0c, "0x0100",eReadWrite},																					 
	{0x3728, 0x0a, "0x0100",eReadWrite},																					 
	{0x3729, 0x03, "0x0100",eReadWrite},																					 
	{0x372a, 0x06, "0x0100",eReadWrite},																					 
	{0x372b, 0xa6, "0x0100",eReadWrite},																					 
	{0x372c, 0xa6, "0x0100",eReadWrite},																					 
	{0x372d, 0xa6, "0x0100",eReadWrite},																					 
	{0x372e, 0x0c, "0x0100",eReadWrite},																					 
	{0x372f, 0x20, "0x0100",eReadWrite},																					 
	{0x3730, 0x02, "0x0100",eReadWrite},																					 
	{0x3731, 0x0c, "0x0100",eReadWrite},																					 
	{0x3732, 0x28, "0x0100",eReadWrite},																					 
	{0x3733, 0x10, "0x0100",eReadWrite},																					 
	{0x3734, 0x40, "0x0100",eReadWrite},																					 
	{0x3736, 0x30, "0x0100",eReadWrite},																					 
	{0x373a, 0x0a, "0x0100",eReadWrite},																					 
	{0x373b, 0x0b, "0x0100",eReadWrite},																					 
	{0x373c, 0x14, "0x0100",eReadWrite},																					 
	{0x373e, 0x06, "0x0100",eReadWrite},																					 
	{0x3750, 0x0a, "0x0100",eReadWrite},																					 
	{0x3751, 0x0e, "0x0100",eReadWrite},																					 
	{0x3755, 0x10, "0x0100",eReadWrite},																					 
	{0x3758, 0x00, "0x0100",eReadWrite},																					 
	{0x3759, 0x4c, "0x0100",eReadWrite},																					 
	{0x375a, 0x0c, "0x0100",eReadWrite},																					 
	{0x375b, 0x26, "0x0100",eReadWrite},																					 
	{0x375c, 0x20, "0x0100",eReadWrite},																					 
	{0x375d, 0x04, "0x0100",eReadWrite},																					 
	{0x375e, 0x00, "0x0100",eReadWrite},																					 
	{0x375f, 0x28, "0x0100",eReadWrite},																					 
	{0x3768, 0x22, "0x0100",eReadWrite},																					 
	{0x3769, 0x44, "0x0100",eReadWrite},																					 
	{0x376a, 0x44, "0x0100",eReadWrite},																					 
	{0x3761, 0x00, "0x0100",eReadWrite},																					 
	{0x3762, 0x00, "0x0100",eReadWrite},																					 
	{0x3763, 0x00, "0x0100",eReadWrite},																					 
	{0x3766, 0xff, "0x0100",eReadWrite},																					 
	{0x376b, 0x00, "0x0100",eReadWrite},																					 
	{0x3772, 0x46, "0x0100",eReadWrite},																					 
	{0x3773, 0x04, "0x0100",eReadWrite},																					 
	{0x3774, 0x2c, "0x0100",eReadWrite},																					 
	{0x3775, 0x13, "0x0100",eReadWrite},																					 
	{0x3776, 0x08, "0x0100",eReadWrite},																					 
	{0x3777, 0x00, "0x0100",eReadWrite},																					 
	{0x3778, 0x17, "0x0100",eReadWrite},																					 
	{0x37a0, 0x88, "0x0100",eReadWrite},																					 
	{0x37a1, 0x7a, "0x0100",eReadWrite},																					 
	{0x37a2, 0x7a, "0x0100",eReadWrite},																					 
	{0x37a3, 0x00, "0x0100",eReadWrite},																					 
	{0x37a4, 0x00, "0x0100",eReadWrite},																					 
	{0x37a5, 0x00, "0x0100",eReadWrite},																					 
	{0x37a6, 0x00, "0x0100",eReadWrite},																					 
	{0x37a7, 0x88, "0x0100",eReadWrite},																					 
	{0x37a8, 0x98, "0x0100",eReadWrite},																					 
	{0x37a9, 0x98, "0x0100",eReadWrite},																					 
	{0x3760, 0x00, "0x0100",eReadWrite},																					 
	{0x376f, 0x01, "0x0100",eReadWrite},																					 
	{0x37aa, 0x88, "0x0100",eReadWrite},																					 
	{0x37ab, 0x5c, "0x0100",eReadWrite},																					 
	{0x37ac, 0x5c, "0x0100",eReadWrite},																					 
	{0x37ad, 0x55, "0x0100",eReadWrite},																					 
	{0x37ae, 0x19, "0x0100",eReadWrite},																					 
	{0x37af, 0x19, "0x0100",eReadWrite},																					 
	{0x37b0, 0x00, "0x0100",eReadWrite},																					 
	{0x37b1, 0x00, "0x0100",eReadWrite},																					 
	{0x37b2, 0x00, "0x0100",eReadWrite},																					 
	{0x37b3, 0x84, "0x0100",eReadWrite},																					 
	{0x37b4, 0x84, "0x0100",eReadWrite},																					 
	{0x37b5, 0x60, "0x0100",eReadWrite},																					 
	{0x37b6, 0x00, "0x0100",eReadWrite},																					 
	{0x37b7, 0x00, "0x0100",eReadWrite},																					 
	{0x37b8, 0x00, "0x0100",eReadWrite},																					 
	{0x37b9, 0xff, "0x0100",eReadWrite},																					 
	{0x3800, 0x00, "0x0100",eReadWrite}, // x start H																		 
	{0x3801, 0x0c, "0x0100",eReadWrite}, // x start L																		 
	{0x3802, 0x00, "0x0100",eReadWrite}, // y start H																		 
	{0x3803, 0x0c, "0x0100",eReadWrite}, // y start L																		 
	{0x3804, 0x0c, "0x0100",eReadWrite}, // x end H 																		 
	{0x3805, 0xd3, "0x0100",eReadWrite}, // x end L 																		 
	{0x3806, 0x09, "0x0100",eReadWrite}, // y end H 																		 
	{0x3807, 0xa3, "0x0100",eReadWrite}, // y end L 																		 
	{0x3808, 0x06, "0x0100",eReadWrite}, // x output size H 																 
	{0x3809, 0x60, "0x0100",eReadWrite}, // x output size L 																 
	{0x380a, 0x04, "0x0100",eReadWrite}, // y output size H 																 
	{0x380b, 0xc8, "0x0100",eReadWrite}, // y output size L 																 
	{0x380c, 0x07, "0x0100",eReadWrite}, // HTS H																			 
	{0x380d, 0x88, "0x0100",eReadWrite}, // HTS L																			 
	{0x380e, 0x04, "0x0100",eReadWrite}, // VTS H																			 
	{0x380f, 0xdc, "0x0100",eReadWrite}, // VTS L																			 
	{0x3810, 0x00, "0x0100",eReadWrite}, // ISP x win H 																	 
	{0x3811, 0x04, "0x0100",eReadWrite}, // ISP x win L 																	 
	{0x3813, 0x02, "0x0100",eReadWrite}, // ISP y win L 																	 
	{0x3814, 0x03, "0x0100",eReadWrite}, // x odd inc																		 
	{0x3815, 0x01, "0x0100",eReadWrite}, // x even inc																		 
	{0x3820, 0x00, "0x0100",eReadWrite}, // vflip off																		 
	{0x3821, 0x67, "0x0100",eReadWrite}, // mirror on, bin on																 
	{0x382a, 0x03, "0x0100",eReadWrite}, // y odd inc																		 
	{0x382b, 0x01, "0x0100",eReadWrite}, // y even inc																		 
	{0x3830, 0x08, "0x0100",eReadWrite},																					 
	{0x3836, 0x02, "0x0100",eReadWrite},																					 
	{0x3837, 0x18, "0x0100",eReadWrite},																					 
	{0x3841, 0xff, "0x0100",eReadWrite}, // window auto size enable 														 
	{0x3846, 0x48, "0x0100",eReadWrite}, // 																				 
	{0x3d85, 0x16, "0x0100",eReadWrite}, // OTP power up load data enable, OTP powerr up load setting enable				 
	{0x3d8c, 0x73, "0x0100",eReadWrite}, // OTP setting start High															 
	{0x3d8d, 0xde, "0x0100",eReadWrite}, // OTP setting start Low															 
	{0x3f08, 0x10, "0x0100",eReadWrite}, // 																				 
	{0x3f0a, 0x00, "0x0100",eReadWrite}, // 																				 
	{0x4000, 0xf1, "0x0100",eReadWrite}, // out_range_trig, format_chg_trig, gain_trig, exp_chg_trig, median filter enable	 
	{0x4001, 0x10, "0x0100",eReadWrite}, // total 128 black column															 
	{0x4005, 0x10, "0x0100",eReadWrite}, // BLC target L																	 
	{0x4002, 0x27, "0x0100",eReadWrite}, // value used to limit BLC offset													 
	{0x4009, 0x81, "0x0100",eReadWrite}, // final BLC offset limitation enable												 
	{0x400b, 0x0c, "0x0100",eReadWrite}, // DCBLC on, DCBLC manual mode on													 
	{0x401b, 0x00, "0x0100",eReadWrite}, // zero line R coefficient 														 
	{0x401d, 0x00, "0x0100",eReadWrite}, // zoro line T coefficient 														 
	{0x4020, 0x00, "0x0100",eReadWrite}, // Anchor left start H 															 
	{0x4021, 0x04, "0x0100",eReadWrite}, // Anchor left start L 															 
	{0x4022, 0x06, "0x0100",eReadWrite}, // Anchor left end H																 
	{0x4023, 0x00, "0x0100",eReadWrite}, // Anchor left end L																 
	{0x4024, 0x0f, "0x0100",eReadWrite}, // Anchor right start H															 
	{0x4025, 0x2a, "0x0100",eReadWrite}, // Anchor right start L															 
	{0x4026, 0x0f, "0x0100",eReadWrite}, // Anchor right end H																 
	{0x4027, 0x2b, "0x0100",eReadWrite}, // Anchor right end L																 
	{0x4028, 0x00, "0x0100",eReadWrite}, // top zero line start 															 
	{0x4029, 0x02, "0x0100",eReadWrite}, // top zero line number															 
	{0x402a, 0x04, "0x0100",eReadWrite}, // top black line start															 
	{0x402b, 0x04, "0x0100",eReadWrite}, // top black line number															 
	{0x402c, 0x00, "0x0100",eReadWrite}, // bottom zero line start															 
	{0x402d, 0x02, "0x0100",eReadWrite}, // bottom zoro line number 														 
	{0x402e, 0x04, "0x0100",eReadWrite}, // bottom black line start 														 
	{0x402f, 0x04, "0x0100",eReadWrite}, // bottom black line number														 
	{0x401f, 0x00, "0x0100",eReadWrite}, // interpolation x disable, interpolation y disable, Anchor one disable			 
	{0x4034, 0x3f, "0x0100",eReadWrite},																					 
	{0x403d, 0x04, "0x0100",eReadWrite}, // md_precison_en																	 
	{0x4300, 0xff, "0x0100",eReadWrite}, // clip max H																		 
	{0x4301, 0x00, "0x0100",eReadWrite}, // clip min H																		 
	{0x4302, 0x0f, "0x0100",eReadWrite}, // clip min L, clip max L															 
	{0x4316, 0x00, "0x0100",eReadWrite},																					 
	{0x4500, 0x58, "0x0100",eReadWrite},																					 
	{0x4503, 0x18, "0x0100",eReadWrite},																					 
	{0x4600, 0x00, "0x0100",eReadWrite},																					 
	{0x4601, 0xcb, "0x0100",eReadWrite},																					 
	{0x481f, 0x32, "0x0100",eReadWrite}, // clk prepare min 																 
	{0x4837, 0x16, "0x0100",eReadWrite}, // global timing																	 
	{0x4850, 0x10, "0x0100",eReadWrite}, // lane 1 = 1, lane 0 = 0															 
	{0x4851, 0x32, "0x0100",eReadWrite}, // lane 3 = 3, lane 2 = 2															 
	{0x4b00, 0x2a, "0x0100",eReadWrite},																					 
	{0x4b0d, 0x00, "0x0100",eReadWrite},																					 
	{0x4d00, 0x04, "0x0100",eReadWrite}, // temperature sensor																 
	{0x4d01, 0x18, "0x0100",eReadWrite}, // 																				 
	{0x4d02, 0xc3, "0x0100",eReadWrite}, // 																				 
	{0x4d03, 0xff, "0x0100",eReadWrite}, // 																				 
	{0x4d04, 0xff, "0x0100",eReadWrite}, // 																				 
	{0x4d05, 0xff, "0x0100",eReadWrite}, // temperature sensor																 
	{0x5000, 0xfe, "0x0100",eReadWrite}, // lenc on, slave AWB gain enable, slave AWB statistics enable, master AWB gain enab
	{0x5001, 0x01, "0x0100",eReadWrite}, // BLC on																			 
	{0x5002, 0x08, "0x0100",eReadWrite}, // H scale off, WBMATCH select slave sensor's gain, WBMATCH off, OTP_DPC off,		 
	{0x5003, 0x20, "0x0100",eReadWrite}, // DPC_DBC buffer control enable, WB												 
	{0x5046, 0x12, "0x0100",eReadWrite}, // 																				 
	{0x5780, 0x3e, "0x0100",eReadWrite}, // DPC 																			 
	{0x5781, 0x0f, "0x0100",eReadWrite}, // 																				 
	{0x5782, 0x44, "0x0100",eReadWrite}, // 																				 
	{0x5783, 0x02, "0x0100",eReadWrite}, // 																				 
	{0x5784, 0x01, "0x0100",eReadWrite}, // 																				 
	{0x5785, 0x00, "0x0100",eReadWrite}, // 																				 
	{0x5786, 0x00, "0x0100",eReadWrite}, // 																				 
	{0x5787, 0x04, "0x0100",eReadWrite}, // 																				 
	{0x5788, 0x02, "0x0100",eReadWrite}, // 																				 
	{0x5789, 0x0f, "0x0100",eReadWrite}, // 																				 
	{0x578a, 0xfd, "0x0100",eReadWrite}, // 																				 
	{0x578b, 0xf5, "0x0100",eReadWrite}, // 																				 
	{0x578c, 0xf5, "0x0100",eReadWrite}, // 																				 
	{0x578d, 0x03, "0x0100",eReadWrite}, // 																				 
	{0x578e, 0x08, "0x0100",eReadWrite}, // 																				 
	{0x578f, 0x0c, "0x0100",eReadWrite}, // 																				 
	{0x5790, 0x08, "0x0100",eReadWrite}, // 																				 
	{0x5791, 0x04, "0x0100",eReadWrite}, // 																				 
	{0x5792, 0x00, "0x0100",eReadWrite}, // 																				 
	{0x5793, 0x52, "0x0100",eReadWrite}, // 																				 
	{0x5794, 0xa3, "0x0100",eReadWrite}, // DPC 																			 
	{0x5871, 0x0d, "0x0100",eReadWrite}, // Lenc																			 
	{0x5870, 0x18, "0x0100",eReadWrite}, // 																				 
	{0x586e, 0x10, "0x0100",eReadWrite}, // 																				 
	{0x586f, 0x08, "0x0100",eReadWrite}, // 																				 
	{0x58f7, 0x01, "0x0100",eReadWrite}, // 																				 
	{0x58f8, 0x3d, "0x0100",eReadWrite}, // Lenc																			 
	{0x5901, 0x00, "0x0100",eReadWrite}, // H skip off, V skip off															 
	{0x5b00, 0x02, "0x0100",eReadWrite}, // OTP DPC start address															 
	{0x5b01, 0x10, "0x0100",eReadWrite}, // OTP DPC start address															 
	{0x5b02, 0x03, "0x0100",eReadWrite}, // OTP DPC end address 															 
	{0x5b03, 0xcf, "0x0100",eReadWrite}, // OTP DPC end address 															 
	{0x5b05, 0x6c, "0x0100",eReadWrite}, // recover method = 2b11, use fixed pattern to recover cluster, use 0x3ff to		 
	{0x5e00, 0x00, "0x0100",eReadWrite}, // test pattern off																 
	{0x5e01, 0x41, "0x0100",eReadWrite}, // window cut enable																 
	{0x382d, 0x7f, "0x0100",eReadWrite}, // 																				 
	{0x4825, 0x3a, "0x0100",eReadWrite}, // lpx_p_min																		 
	{0x4826, 0x40, "0x0100",eReadWrite}, // hs_prepare_min																	 
	{0x4808, 0x25, "0x0100",eReadWrite}, // wake up delay in 1/1024 s														 
	{0x3763, 0x18, "0x0100",eReadWrite},																					 
	{0x3768, 0xcc, "0x0100",eReadWrite},																					 
	{0x470b, 0x28, "0x0100",eReadWrite},																					 
	{0x4202, 0x00, "0x0100",eReadWrite},																					 
	{0x400d, 0x10, "0x0100",eReadWrite}, // BLC offset trigger L															 
	{0x4040, 0x04, "0x0100",eReadWrite}, // BLC gain th2																	 
	{0x403e, 0x04, "0x0100",eReadWrite}, // BLC gain th1																	 
	{0x4041, 0xc6, "0x0100",eReadWrite}, // BLC 																			 
	{0x3007, 0x80, "0x0100",eReadWrite},																					 
	{0x400a, 0x01, "0x0100",eReadWrite},																					 
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_1632x1224_fourlane_R2A[] =
{
	//
	// MIPI=720Mbps, SysClk=144Mhz,Dac Clock=360Mhz.
	//
	//
	// v00_01_00 (05/29/2014) : initial setting
	//
	// AM19 : 3617 <- 0xC0
	//
	// AM20 : change FWC_6K_EN to be default 0x3618=0x5a
	{0x0100, 0x00, "0x0100", eReadWrite},
	{0x3501, 0x4d, "0x0100", eReadWrite}, // exposure M
	{0x3502, 0x40, "0x0100", eReadWrite}, // exposure L
	{0x3508, 0x04, "0x0100", eReadWrite}, // gain H
	{0x3808, 0x06, "0x0100", eReadWrite}, // x output size H
	{0x3809, 0x60, "0x0100", eReadWrite}, // x output size L
	{0x380a, 0x04, "0x0100", eReadWrite}, // y output size H
	{0x380b, 0xc8, "0x0100", eReadWrite}, // y output size L
	{0x380c, 0x07, "0x0100", eReadWrite}, // HTS H
	{0x380d, 0x88, "0x0100", eReadWrite}, // HTS L
	{0x380e, 0x04, "0x0100", eReadWrite}, // VTS H
	{0x380f, 0xdc, "0x0100", eReadWrite}, // VTS L
	{0x3814, 0x03, "0x0100", eReadWrite}, // x odd inc
	{0x3821, 0x67, "0x0100", eReadWrite}, // mirror on, bin on
	{0x382a, 0x03, "0x0100", eReadWrite}, // y odd inc
	{0x3830, 0x08, "0x0100", eReadWrite},
	{0x3836, 0x02, "0x0100", eReadWrite},
	{0x3f0a, 0x00, "0x0100", eReadWrite},
	{0x4001, 0x10, "0x0100", eReadWrite}, // total 128 black column
	{0x4022, 0x06, "0x0100", eReadWrite}, // Anchor left end H
	{0x4023, 0x00, "0x0100", eReadWrite}, // Anchor left end L
	{0x4025, 0x2a, "0x0100", eReadWrite}, // Anchor right start L
	{0x4027, 0x2b, "0x0100", eReadWrite}, // Anchor right end L
	{0x402b, 0x04, "0x0100", eReadWrite}, // top black line number
	{0x402f, 0x04, "0x0100", eReadWrite}, // interpolation x disable, interpolation y disable, Anchor one disable
	{0x4500, 0x58, "0x0100", eReadWrite},
	{0x4600, 0x00, "0x0100", eReadWrite},
	{0x4601, 0xcb, "0x0100", eReadWrite},
	{0x382d, 0x7f, "0x0100", eReadWrite},
	{0x0000 ,0x00, "eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_3264x2448_fourlane_R2A[] =
{
	// MIPI=720Mbps, SysClk=144Mhz,Dac Clock=360Mhz.
	//
	// Required Exposure Line(0x3500/01/02) >= 4
	//
	// v00_01_00 (05/29/2014) : initial setting
	//
	// AM19 : 3617 <- 0xC0
	//
	// AM20 : change FWC_6K_EN to be default 0x3618=0x5a
	{0x0100, 0x00, "0x0100", eReadWrite},
	{0x3501, 0x9a, "0x0100", eReadWrite}, // exposure M
	{0x3502, 0x20, "0x0100", eReadWrite}, // exposure L
	{0x3508, 0x02, "0x0100", eReadWrite}, // gain H
	{0x3808, 0x0c, "0x0100", eReadWrite}, // x output size H
	{0x3809, 0xc0, "0x0100", eReadWrite}, // x output size L
	{0x380a, 0x09, "0x0100", eReadWrite}, // y output size H
	{0x380b, 0x90, "0x0100", eReadWrite}, // y output size L
	{0x380c, 0x07, "0x0100", eReadWrite}, // HTS H
	{0x380d, 0x94, "0x0100", eReadWrite}, // HTS L
	{0x380e, 0x09, "0x0100", eReadWrite}, // VTS H
	{0x380f, 0xaa, "0x0100", eReadWrite}, // VTS L
	{0x3814, 0x01, "0x0100", eReadWrite}, // x odd inc
	{0x3821, 0x46, "0x0100", eReadWrite}, // mirror on, bin off
	{0x382a, 0x01, "0x0100", eReadWrite}, // y odd inc
	{0x3830, 0x06, "0x0100", eReadWrite},
	{0x3836, 0x01, "0x0100", eReadWrite},
	{0x3f0a, 0x00, "0x0100", eReadWrite},
	{0x4001, 0x00, "0x0100", eReadWrite}, // total 256 black column
	{0x4022, 0x0c, "0x0100", eReadWrite}, // Anchor left end H
	{0x4023, 0x60, "0x0100", eReadWrite}, // Anchor left end L
	{0x4025, 0x36, "0x0100", eReadWrite}, // Anchor right start L
	{0x4027, 0x37, "0x0100", eReadWrite}, // Anchor right end L
	{0x402b, 0x08, "0x0100", eReadWrite}, // top black line number
	{0x402f, 0x08, "0x0100", eReadWrite}, // interpolation x disable, interpolation y disable, Anchor one disable
	{0x4500, 0x58, "0x0100", eReadWrite},
	{0x4600, 0x01, "0x0100", eReadWrite},
	{0x4601, 0x97, "0x0100", eReadWrite},
	{0x382d, 0xff, "0x0100", eReadWrite},
	{0x0000, 0x00, "eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_aRegDescription_twolane_R2A[] =
{
	// MIPI=720Mbps, SysClk=144Mhz,Dac Clock=360Mhz.
	//
	//
	// v00_01_00 (05/29/2014) : initial setting
	//
	// AM19 : 3617 <- 0xC0
	//
	// AM20 : change FWC_6K_EN to be default 0x3618=0x5a
	{0x0103, 0x01, "0x0100",eReadWrite},// software reset for OVTATool only
	{0x0103, 0x01, "0x0100",eReadWrite},// software reset
	{0x0100, 0x00, "0x0100",eReadWrite},// software standby
	{0x0302, 0x1e, "0x0100",eReadWrite},// pll1_multi
	{0x0303, 0x00, "0x0100",eReadWrite},// pll1_divm
	{0x0304, 0x03, "0x0100",eReadWrite},// pll1_div_mipi
	{0x030e, 0x02, "0x0100",eReadWrite},// pll2_rdiv
	{0x030f, 0x04, "0x0100",eReadWrite},// pll2_divsp
	{0x0312, 0x03, "0x0100",eReadWrite},// pll2_pre_div0, pll2_r_divdac
	{0x031e, 0x0c, "0x0100",eReadWrite},// pll1_no_lat
	{0x3600, 0x00, "0x0100",eReadWrite},
	{0x3601, 0x00, "0x0100",eReadWrite},
	{0x3602, 0x00, "0x0100",eReadWrite},
	{0x3603, 0x00, "0x0100",eReadWrite},
	{0x3604, 0x22, "0x0100",eReadWrite},
	{0x3605, 0x20, "0x0100",eReadWrite},
	{0x3606, 0x00, "0x0100",eReadWrite},
	{0x3607, 0x20, "0x0100",eReadWrite},
	{0x3608, 0x11, "0x0100",eReadWrite},
	{0x3609, 0x28, "0x0100",eReadWrite},
	{0x360a, 0x00, "0x0100",eReadWrite},
	{0x360b, 0x05, "0x0100",eReadWrite},
	{0x360c, 0xd4, "0x0100",eReadWrite},
	{0x360d, 0x40, "0x0100",eReadWrite},
	{0x360e, 0x0c, "0x0100",eReadWrite},
	{0x360f, 0x20, "0x0100",eReadWrite},
	{0x3610, 0x07, "0x0100",eReadWrite},
	{0x3611, 0x20, "0x0100",eReadWrite},
	{0x3612, 0x88, "0x0100",eReadWrite},
	{0x3613, 0x80, "0x0100",eReadWrite},
	{0x3614, 0x58, "0x0100",eReadWrite},
	{0x3615, 0x00, "0x0100",eReadWrite},
	{0x3616, 0x4a, "0x0100",eReadWrite},
	{0x3617, 0x90, "0x0100",eReadWrite},
	{0x3618, 0x5a, "0x0100",eReadWrite},
	{0x3619, 0x70, "0x0100",eReadWrite},
	{0x361a, 0x99, "0x0100",eReadWrite},
	{0x361b, 0x0a, "0x0100",eReadWrite},
	{0x361c, 0x07, "0x0100",eReadWrite},
	{0x361d, 0x00, "0x0100",eReadWrite},
	{0x361e, 0x00, "0x0100",eReadWrite},
	{0x361f, 0x00, "0x0100",eReadWrite},
	{0x3638, 0xff, "0x0100",eReadWrite},
	{0x3633, 0x0f, "0x0100",eReadWrite},
	{0x3634, 0x0f, "0x0100",eReadWrite},
	{0x3635, 0x0f, "0x0100",eReadWrite},
	{0x3636, 0x12, "0x0100",eReadWrite},
	{0x3645, 0x13, "0x0100",eReadWrite},
	{0x3646, 0x83, "0x0100",eReadWrite},
	{0x364a, 0x07, "0x0100",eReadWrite},
	{0x3015, 0x00, "0x0100",eReadWrite},
	{0x3018, 0x32, "0x0100",eReadWrite}, // MIPI 2 lane
	{0x3020, 0x93, "0x0100",eReadWrite}, // Clock switch output normal, pclk_div =/1
	{0x3022, 0x01, "0x0100",eReadWrite}, // pd_mipi enable when rst_sync
	{0x3031, 0x0a, "0x0100",eReadWrite}, // MIPI 10-bit mode
	{0x3034, 0x00, "0x0100",eReadWrite}, //
	{0x3106, 0x01, "0x0100",eReadWrite}, // sclk_div, sclk_pre_div
	{0x3305, 0xf1, "0x0100",eReadWrite},
	{0x3308, 0x00, "0x0100",eReadWrite},
	{0x3309, 0x28, "0x0100",eReadWrite},
	{0x330a, 0x00, "0x0100",eReadWrite},
	{0x330b, 0x20, "0x0100",eReadWrite},
	{0x330c, 0x00, "0x0100",eReadWrite},
	{0x330d, 0x00, "0x0100",eReadWrite},
	{0x330e, 0x00, "0x0100",eReadWrite},
	{0x330f, 0x40, "0x0100",eReadWrite},
	{0x3307, 0x04, "0x0100",eReadWrite},
	{0x3500, 0x00, "0x0100",eReadWrite}, // exposure H
	{0x3501, 0x4d, "0x0100",eReadWrite}, // exposure M
	{0x3502, 0x40, "0x0100",eReadWrite}, // exposure L
	{0x3503, 0x80, "0x0100",eReadWrite}, // gain delay ?, exposure delay 1 frame, real gain
	{0x3505, 0x80, "0x0100",eReadWrite}, // gain option
	{0x3508, 0x02, "0x0100",eReadWrite}, // gain H
	{0x3509, 0x00, "0x0100",eReadWrite}, // gain L
	{0x350c, 0x00, "0x0100",eReadWrite}, // short gain H
	{0x350d, 0x80, "0x0100",eReadWrite}, // short gain L
	{0x3510, 0x00, "0x0100",eReadWrite}, // short exposure H
	{0x3511, 0x02, "0x0100",eReadWrite}, // short exposure M
	{0x3512, 0x00, "0x0100",eReadWrite}, // short exposure L
	{0x3700, 0x18, "0x0100",eReadWrite},
	{0x3701, 0x0c, "0x0100",eReadWrite},
	{0x3702, 0x28, "0x0100",eReadWrite},
	{0x3703, 0x19, "0x0100",eReadWrite},
	{0x3704, 0x14, "0x0100",eReadWrite},
	{0x3705, 0x00, "0x0100",eReadWrite},
	{0x3706, 0x82, "0x0100",eReadWrite},
	{0x3707, 0x04, "0x0100",eReadWrite},
	{0x3708, 0x24, "0x0100",eReadWrite},
	{0x3709, 0x33, "0x0100",eReadWrite},
	{0x370a, 0x01, "0x0100",eReadWrite},
	{0x370b, 0x82, "0x0100",eReadWrite},
	{0x370c, 0x04, "0x0100",eReadWrite},
	{0x3718, 0x12, "0x0100",eReadWrite},
	{0x3719, 0x31, "0x0100",eReadWrite},
	{0x3712, 0x42, "0x0100",eReadWrite},
	{0x3714, 0x24, "0x0100",eReadWrite},
	{0x371e, 0x19, "0x0100",eReadWrite},
	{0x371f, 0x40, "0x0100",eReadWrite},
	{0x3720, 0x05, "0x0100",eReadWrite},
	{0x3721, 0x05, "0x0100",eReadWrite},
	{0x3724, 0x06, "0x0100",eReadWrite},
	{0x3725, 0x01, "0x0100",eReadWrite},
	{0x3726, 0x06, "0x0100",eReadWrite},
	{0x3728, 0x05, "0x0100",eReadWrite},
	{0x3729, 0x02, "0x0100",eReadWrite},
	{0x372a, 0x03, "0x0100",eReadWrite},
	{0x372b, 0x53, "0x0100",eReadWrite},
	{0x372c, 0xa3, "0x0100",eReadWrite},
	{0x372d, 0x53, "0x0100",eReadWrite},
	{0x372e, 0x06, "0x0100",eReadWrite},
	{0x372f, 0x10, "0x0100",eReadWrite},
	{0x3730, 0x01, "0x0100",eReadWrite},
	{0x3731, 0x06, "0x0100",eReadWrite},
	{0x3732, 0x14, "0x0100",eReadWrite},
	{0x3733, 0x10, "0x0100",eReadWrite},
	{0x3734, 0x40, "0x0100",eReadWrite},
	{0x3736, 0x20, "0x0100",eReadWrite},
	{0x373a, 0x05, "0x0100",eReadWrite},
	{0x373b, 0x06, "0x0100",eReadWrite},
	{0x373c, 0x0a, "0x0100",eReadWrite},
	{0x373e, 0x03, "0x0100",eReadWrite},
	{0x3750, 0x0a, "0x0100",eReadWrite},
	{0x3751, 0x0e, "0x0100",eReadWrite},
	{0x3755, 0x10, "0x0100",eReadWrite},
	{0x3758, 0x00, "0x0100",eReadWrite},
	{0x3759, 0x4c, "0x0100",eReadWrite},
	{0x375a, 0x06, "0x0100",eReadWrite},
	{0x375b, 0x13, "0x0100",eReadWrite},
	{0x375c, 0x20, "0x0100",eReadWrite},
	{0x375d, 0x02, "0x0100",eReadWrite},
	{0x375e, 0x00, "0x0100",eReadWrite},
	{0x375f, 0x14, "0x0100",eReadWrite},
	{0x3768, 0x22, "0x0100",eReadWrite},
	{0x3769, 0x44, "0x0100",eReadWrite},
	{0x376a, 0x44, "0x0100",eReadWrite},
	{0x3761, 0x00, "0x0100",eReadWrite},
	{0x3762, 0x00, "0x0100",eReadWrite},
	{0x3763, 0x00, "0x0100",eReadWrite},
	{0x3766, 0xff, "0x0100",eReadWrite},
	{0x376b, 0x00, "0x0100",eReadWrite},
	{0x3772, 0x23, "0x0100",eReadWrite},
	{0x3773, 0x02, "0x0100",eReadWrite},
	{0x3774, 0x16, "0x0100",eReadWrite},
	{0x3775, 0x12, "0x0100",eReadWrite},
	{0x3776, 0x04, "0x0100",eReadWrite},
	{0x3777, 0x00, "0x0100",eReadWrite},
	{0x3778, 0x17, "0x0100",eReadWrite},
	{0x37a0, 0x44, "0x0100",eReadWrite},
	{0x37a1, 0x3d, "0x0100",eReadWrite},
	{0x37a2, 0x3d, "0x0100",eReadWrite},
	{0x37a3, 0x00, "0x0100",eReadWrite},
	{0x37a4, 0x00, "0x0100",eReadWrite},
	{0x37a5, 0x00, "0x0100",eReadWrite},
	{0x37a6, 0x00, "0x0100",eReadWrite},
	{0x37a7, 0x44, "0x0100",eReadWrite},
	{0x37a8, 0x4c, "0x0100",eReadWrite},
	{0x37a9, 0x4c, "0x0100",eReadWrite},
	{0x3760, 0x00, "0x0100",eReadWrite},
	{0x376f, 0x01, "0x0100",eReadWrite},
	{0x37aa, 0x44, "0x0100",eReadWrite},
	{0x37ab, 0x2e, "0x0100",eReadWrite},
	{0x37ac, 0x2e, "0x0100",eReadWrite},
	{0x37ad, 0x33, "0x0100",eReadWrite},
	{0x37ae, 0x0d, "0x0100",eReadWrite},
	{0x37af, 0x0d, "0x0100",eReadWrite},
	{0x37b0, 0x00, "0x0100",eReadWrite},
	{0x37b1, 0x00, "0x0100",eReadWrite},
	{0x37b2, 0x00, "0x0100",eReadWrite},
	{0x37b3, 0x42, "0x0100",eReadWrite},
	{0x37b4, 0x42, "0x0100",eReadWrite},
	{0x37b5, 0x31, "0x0100",eReadWrite},
	{0x37b6, 0x00, "0x0100",eReadWrite},
	{0x37b7, 0x00, "0x0100",eReadWrite},
	{0x37b8, 0x00, "0x0100",eReadWrite},
	{0x37b9, 0xff, "0x0100",eReadWrite},
	{0x3800, 0x00, "0x0100",eReadWrite}, // x start H
	{0x3801, 0x0c, "0x0100",eReadWrite}, // x start L
	{0x3802, 0x00, "0x0100",eReadWrite}, // y start H
	{0x3803, 0x0c, "0x0100",eReadWrite}, // y start L
	{0x3804, 0x0c, "0x0100",eReadWrite}, // x end H
	{0x3805, 0xd3, "0x0100",eReadWrite}, // x end L
	{0x3806, 0x09, "0x0100",eReadWrite}, // y end H
	{0x3807, 0xa3, "0x0100",eReadWrite}, // y end L
	{0x3808, 0x06, "0x0100",eReadWrite}, // x output size H
	{0x3809, 0x60, "0x0100",eReadWrite}, // x output size L
	{0x380a, 0x04, "0x0100",eReadWrite}, // y output size H
	{0x380b, 0xc8, "0x0100",eReadWrite}, // y output size L
	{0x380c, 0x07, "0x0100",eReadWrite}, // HTS H
	{0x380d, 0x88, "0x0100",eReadWrite}, // HTS L
	{0x380e, 0x04, "0x0100",eReadWrite}, // VTS H
	{0x380f, 0xdc, "0x0100",eReadWrite}, // VTS L
	{0x3810, 0x00, "0x0100",eReadWrite}, // ISP x win H
	{0x3811, 0x04, "0x0100",eReadWrite}, // ISP x win L
	{0x3813, 0x02, "0x0100",eReadWrite}, // ISP y win L
	{0x3814, 0x03, "0x0100",eReadWrite}, // x odd inc
	{0x3815, 0x01, "0x0100",eReadWrite}, // x even inc
	{0x3820, 0x00, "0x0100",eReadWrite}, // vflip off
	{0x3821, 0x67, "0x0100",eReadWrite}, // mirror on, bin on
	{0x382a, 0x03, "0x0100",eReadWrite}, // y odd inc
	{0x382b, 0x01, "0x0100",eReadWrite}, // y even inc
	{0x3830, 0x08, "0x0100",eReadWrite}, //
	{0x3836, 0x02, "0x0100",eReadWrite}, //
	{0x3837, 0x18, "0x0100",eReadWrite}, //
	{0x3841, 0xff, "0x0100",eReadWrite}, // window auto size enable
	{0x3846, 0x48, "0x0100",eReadWrite}, //
	{0x3d85, 0x16, "0x0100",eReadWrite}, // OTP power up load data enable, OTP powerr up load setting enable
	{0x3d8c, 0x73, "0x0100",eReadWrite}, // OTP setting start High
	{0x3d8d, 0xde, "0x0100",eReadWrite}, // OTP setting start Low
	{0x3f08, 0x08, "0x0100",eReadWrite}, //
	{0x3f0a, 0x00, "0x0100",eReadWrite}, //
	{0x4000, 0xf1, "0x0100",eReadWrite}, // out_range_trig, format_chg_trig, gain_trig, exp_chg_trig, median filter 
	{0x4001, 0x10, "0x0100",eReadWrite}, // total 128 black column
	{0x4005, 0x10, "0x0100",eReadWrite}, // BLC target L
	{0x4002, 0x27, "0x0100",eReadWrite}, // value used to limit BLC offset
	{0x4009, 0x81, "0x0100",eReadWrite}, // final BLC offset limitation enable
	{0x400b, 0x0c, "0x0100",eReadWrite}, // DCBLC on, DCBLC manual mode on
	{0x401b, 0x00, "0x0100",eReadWrite}, // zero line R coefficient
	{0x401d, 0x00, "0x0100",eReadWrite}, // zoro line T coefficient
	{0x4020, 0x00, "0x0100",eReadWrite}, // Anchor left start H
	{0x4021, 0x04, "0x0100",eReadWrite}, // Anchor left start L
	{0x4022, 0x06, "0x0100",eReadWrite}, // Anchor left end H
	{0x4023, 0x00, "0x0100",eReadWrite}, // Anchor left end L
	{0x4024, 0x0f, "0x0100",eReadWrite}, // Anchor right start H
	{0x4025, 0x2a, "0x0100",eReadWrite}, // Anchor right start L
	{0x4026, 0x0f, "0x0100",eReadWrite}, // Anchor right end H
	{0x4027, 0x2b, "0x0100",eReadWrite}, // Anchor right end L
	{0x4028, 0x00, "0x0100",eReadWrite}, // top zero line start
	{0x4029, 0x02, "0x0100",eReadWrite}, // top zero line number
	{0x402a, 0x04, "0x0100",eReadWrite}, // top black line start
	{0x402b, 0x04, "0x0100",eReadWrite}, // top black line number
	{0x402c, 0x00, "0x0100",eReadWrite}, // bottom zero line start
	{0x402d, 0x02, "0x0100",eReadWrite}, // bottom zoro line number
	{0x402e, 0x04, "0x0100",eReadWrite}, // bottom black line start
	{0x402f, 0x04, "0x0100",eReadWrite}, // bottom black line number
	{0x401f, 0x00, "0x0100",eReadWrite}, // interpolation x disable, interpolation y disable, Anchor one disable
	{0x4034, 0x3f, "0x0100",eReadWrite}, //
	{0x403d, 0x04, "0x0100",eReadWrite}, // md_precison_en
	{0x4300, 0xff, "0x0100",eReadWrite}, // clip max H
	{0x4301, 0x00, "0x0100",eReadWrite}, // clip min H
	{0x4302, 0x0f, "0x0100",eReadWrite}, // clip min L, clip max L
	{0x4316, 0x00, "0x0100",eReadWrite}, //
	{0x4500, 0x58, "0x0100",eReadWrite}, //
	{0x4503, 0x18, "0x0100",eReadWrite}, //
	{0x4600, 0x00, "0x0100",eReadWrite}, //
	{0x4601, 0xcb, "0x0100",eReadWrite}, //
	{0x481f, 0x32, "0x0100",eReadWrite}, // clk prepare min
	{0x4837, 0x16, "0x0100",eReadWrite}, // global timing
	{0x4850, 0x10, "0x0100",eReadWrite}, // lane 1 = 1, lane 0 = 0
	{0x4851, 0x32, "0x0100",eReadWrite}, // lane 3 = 3, lane 2 = 2
	{0x4b00, 0x2a, "0x0100",eReadWrite}, //
	{0x4b0d, 0x00, "0x0100",eReadWrite}, //
	{0x4d00, 0x04, "0x0100",eReadWrite}, // temperature sensor
	{0x4d01, 0x18, "0x0100",eReadWrite}, //
	{0x4d02, 0xc3, "0x0100",eReadWrite}, //
	{0x4d03, 0xff, "0x0100",eReadWrite}, //
	{0x4d04, 0xff, "0x0100",eReadWrite}, //
	{0x4d05, 0xff, "0x0100",eReadWrite}, // temperature sensor
	{0x5000, 0xfe, "0x0100",eReadWrite}, // lenc on, slave AWB gain enable, slave AWB statistics enable, master AWB gain
	{0x5001, 0x01, "0x0100",eReadWrite}, // BLC on
	{0x5002, 0x08, "0x0100",eReadWrite}, // H scale off, WBMATCH select slave sensor's gain, WBMATCH off, OTP_DPC
	{0x5003, 0x20, "0x0100",eReadWrite}, // DPC_DBC buffer control enable, WB
	{0x5046, 0x12, "0x0100",eReadWrite}, //
	{0x5780, 0x3e, "0x0100",eReadWrite}, // DPC
	{0x5781, 0x0f, "0x0100",eReadWrite}, //
	{0x5782, 0x44, "0x0100",eReadWrite}, //
	{0x5783, 0x02, "0x0100",eReadWrite}, //
	{0x5784, 0x01, "0x0100",eReadWrite}, //
	{0x5785, 0x00, "0x0100",eReadWrite}, //
	{0x5786, 0x00, "0x0100",eReadWrite}, //
	{0x5787, 0x04, "0x0100",eReadWrite}, //
	{0x5788, 0x02, "0x0100",eReadWrite}, //
	{0x5789, 0x0f, "0x0100",eReadWrite}, //
	{0x578a, 0xfd, "0x0100",eReadWrite}, //
	{0x578b, 0xf5, "0x0100",eReadWrite}, //
	{0x578c, 0xf5, "0x0100",eReadWrite}, //
	{0x578d, 0x03, "0x0100",eReadWrite}, //
	{0x578e, 0x08, "0x0100",eReadWrite}, //
	{0x578f, 0x0c, "0x0100",eReadWrite}, //
	{0x5790, 0x08, "0x0100",eReadWrite}, //
	{0x5791, 0x04, "0x0100",eReadWrite}, //
	{0x5792, 0x00, "0x0100",eReadWrite}, //
	{0x5793, 0x52, "0x0100",eReadWrite}, //
	{0x5794, 0xa3, "0x0100",eReadWrite}, // DPC
	{0x5871, 0x0d, "0x0100",eReadWrite}, // Lenc
	{0x5870, 0x18, "0x0100",eReadWrite}, //
	{0x586e, 0x10, "0x0100",eReadWrite}, //
	{0x586f, 0x08, "0x0100",eReadWrite}, //
	{0x58f7, 0x01, "0x0100",eReadWrite}, //
	{0x58f8, 0x3d, "0x0100",eReadWrite}, // Lenc
	{0x5901, 0x00, "0x0100",eReadWrite}, // H skip off, V skip off
	{0x5b00, 0x02, "0x0100",eReadWrite}, // OTP DPC start address
	{0x5b01, 0x10, "0x0100",eReadWrite}, // OTP DPC start address
	{0x5b02, 0x03, "0x0100",eReadWrite}, // OTP DPC end address
	{0x5b03, 0xcf, "0x0100",eReadWrite}, // OTP DPC end address
	{0x5b05, 0x6c, "0x0100",eReadWrite}, // recover method = 2b11, use fixed pattern to recover cluster, use 0x3ff to 
	{0x5e00, 0x00, "0x0100",eReadWrite}, // test pattern off
	{0x5e01, 0x41, "0x0100",eReadWrite}, // window cut enable
	{0x382d, 0x7f, "0x0100",eReadWrite}, //
	{0x4825, 0x3a, "0x0100",eReadWrite}, // lpx_p_min
	{0x4826, 0x40, "0x0100",eReadWrite}, // hs_prepare_min
	{0x4808, 0x25, "0x0100",eReadWrite}, // wake up delay in 1/1024 s
	{0x3763, 0x18, "0x0100",eReadWrite}, //
	{0x3768, 0xcc, "0x0100",eReadWrite}, //
	{0x470b, 0x28, "0x0100",eReadWrite}, //
	{0x4202, 0x00, "0x0100",eReadWrite}, //
	{0x400d, 0x10, "0x0100",eReadWrite}, // BLC offset trigger L
	{0x4040, 0x04, "0x0100",eReadWrite}, // BLC gain th2
	{0x403e, 0x04, "0x0100",eReadWrite}, // BLC gain th1
	{0x4041, 0xc6, "0x0100",eReadWrite}, // BLC
	{0x3007, 0x80, "0x0100",eReadWrite},
	{0x400a, 0x01, "0x0100",eReadWrite},
	{0x0000, 0x00, "eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_1632x1224_twolane_R2A[] =
{

	// MIPI=720Mbps, SysClk=144Mhz,Dac Clock=360Mhz.
	//
	// MIPI=720Mbps, SysClk=144Mhz,Dac Clock=360Mhz.
	//
	//
	// v00_01_00 (05/29/2014) : initial setting
	//
	// AM19 : 3617 <- 0xC0
	//
	// AM20 : change FWC_6K_EN to be default 0x3618=0x5a
	{0x0100,0x00,"0x0100",eReadWrite},
	{0x3501,0x4d,"0x0100",eReadWrite}, // exposure M
	{0x3502,0x40,"0x0100",eReadWrite}, // exposure L
	{0x3778,0x17,"0x0100",eReadWrite}, //
	{0x3808,0x06,"0x0100",eReadWrite}, // x output size H
	{0x3809,0x60,"0x0100",eReadWrite}, // x output size L
	{0x380a,0x04,"0x0100",eReadWrite}, // y output size H
	{0x380b,0xc8,"0x0100",eReadWrite}, // y output size L
	{0x380c,0x07,"0x0100",eReadWrite}, // HTS H
	{0x380d,0x88,"0x0100",eReadWrite}, // HTS L
	{0x380e,0x04,"0x0100",eReadWrite}, // VTS H
	{0x380f,0xdc,"0x0100",eReadWrite}, // VTS L
	{0x3814,0x03,"0x0100",eReadWrite}, // x odd inc
	{0x3821,0x67,"0x0100",eReadWrite}, // mirror on, bin on
	{0x382a,0x03,"0x0100",eReadWrite}, // y odd inc
	{0x3830,0x08,"0x0100",eReadWrite},
	{0x3836,0x02,"0x0100",eReadWrite},
	{0x3f0a,0x00,"0x0100",eReadWrite},
	{0x4001,0x10,"0x0100",eReadWrite}, // total 128 black column
	{0x4022,0x06,"0x0100",eReadWrite}, // Anchor left end H
	{0x4023,0x00,"0x0100",eReadWrite}, // Anchor left end L
	{0x4025,0x2a,"0x0100",eReadWrite}, // Anchor right start L
	{0x4027,0x2b,"0x0100",eReadWrite}, // Anchor right end L
	{0x402b,0x04,"0x0100",eReadWrite}, // top black line number
	{0x402f,0x04,"0x0100",eReadWrite}, // bottom black line number
	{0x4500,0x58,"0x0100",eReadWrite},
	{0x4600,0x00,"0x0100",eReadWrite},
	{0x4601,0xcb,"0x0100",eReadWrite},
	{0x382d,0x7f,"0x0100",eReadWrite},
	{0x0000,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV8858_g_3264x2448_twolane_R2A[] =
{
	//
	// MIPI=720Mbps, SysClk=72Mhz,Dac Clock=360Mhz.
	//
	//
	// v00_01_00 (05/29/2014) : initial setting
	//
	// AM19 : 3617 <- 0xC0
	//
	// AM20 : change FWC_6K_EN to be default 0x3618=0x5
	{0x0100,0x00,"0x0100",eReadWrite},
	{0x3501,0x9a,"0x0100",eReadWrite},// exposure M
	{0x3502,0x20,"0x0100",eReadWrite},// exposure L
	{0x3778,0x1a,"0x0100",eReadWrite},//
	{0x3808,0x0c,"0x0100",eReadWrite},// x output size H
	{0x3809,0xc0,"0x0100",eReadWrite},// x output size L
	{0x380a,0x09,"0x0100",eReadWrite},// y output size H
	{0x380b,0x90,"0x0100",eReadWrite},// y output size L
	{0x380c,0x07,"0x0100",eReadWrite},// HTS H
	{0x380d,0x94,"0x0100",eReadWrite},// HTS L
	{0x380e,0x09,"0x0100",eReadWrite},// VTS H
	{0x380f,0xaa,"0x0100",eReadWrite},// VTS L
	{0x3814,0x01,"0x0100",eReadWrite},// x odd inc
	{0x3821,0x46,"0x0100",eReadWrite},// mirror on, bin off
	{0x382a,0x01,"0x0100",eReadWrite},// y odd inc
	{0x3830,0x06,"0x0100",eReadWrite},
	{0x3836,0x01,"0x0100",eReadWrite},
	{0x3f0a,0x00,"0x0100",eReadWrite},
	{0x4001,0x00,"0x0100",eReadWrite},// total 256 black column
	{0x4022,0x0c,"0x0100",eReadWrite},// Anchor left end H
	{0x4023,0x60,"0x0100",eReadWrite},// Anchor left end L
	{0x4025,0x36,"0x0100",eReadWrite},// Anchor right start L
	{0x4027,0x37,"0x0100",eReadWrite},// Anchor right end L
	{0x402b,0x08,"0x0100",eReadWrite},// top black line number
	{0x402f,0x08,"0x0100",eReadWrite},// bottom black line number
	{0x4500,0x58,"0x0100",eReadWrite},
	{0x4600,0x01,"0x0100",eReadWrite},
	{0x4601,0x97,"0x0100",eReadWrite},
	{0x382d,0xff,"0x0100",eReadWrite},
	{0x0000,0x00,"eTableEnd",eTableEnd}
};


